Поиск по этому блогу

вторник, 11 февраля 2020 г.

С27 задача 24 на Питоне

На вход программе подается последовательность символов, заканчивающаяся точкой. Требуется написать программу, которая определяет, есть ли в этой последовательности десятичные цифры, и выводит наибольшее число, которое можно составить из этих цифр. Ведущих нулей в числе быть не должно (за исключением числа 0, запись которого содержит ровно одну цифру). Если цифр нет, программа должна вывести на экран слово «No», а если есть – слово «Yes» и в следующей строчке искомое число. Например, если исходная последовательность была такая:

Day 10, mice 8: "Year" 7 is a mistake 91.

то результат должен быть следующий:

Yes
987110


Решение

s='0123456789'
c=input()
n=''
a=[]
for i in range(len(c)):
    p=s.find(c[i])
    if  p> -1:
        a.append(p)
if len(a)==0:
    print('no')
else:
    a.sort()
    a.reverse()
    for i in range(len(a)):
        n+=str(a[i])
    print('yes')
    print(n)

Комментариев нет:

Отправить комментарий