На вход программе подается последовательность символов, заканчивающаяся точкой. Требуется написать программу, которая определяет, есть ли в этой последовательности десятичные цифры, и выводит наибольшее число, которое можно составить из этих цифр. Ведущих нулей в числе быть не должно (за исключением числа 0, запись которого содержит ровно одну цифру). Если цифр нет, программа должна вывести на экран слово «No», а если есть – слово «Yes» и в следующей строчке искомое число. Например, если исходная последовательность была такая:
Day 10, mice 8: "Year" 7 is a mistake 91.
то результат должен быть следующий:
Yes
987110
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)
Комментариев нет:
Отправить комментарий