Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиПоискОблакоVK ComboВсе проекты

Информатика программирование Python 10

брешка Ученик (89), закрыт 1 месяц назад
На вход программе подается последовательность цифр, заканчивающаяся точкой (другие символы, кроме цифр и точки, отсутствуют). Требуется

написать программу, которая выводит цифры, встречающиеся во входной последовательности, в порядке увеличения частоты их встречаемости. Если какие-то цифры встречаются одинаковое число раз, они выводятся в порядке возрастания. Например, если исходная последовательность была такая:

123124456.

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

356124
Лучший ответ
1truekerry Знаток (332) 1 месяц назад
input_str = input() # считываем входную последовательность
digits_count = {} # создаем словарь для хранения количества встречаемости цифр

# считаем количество каждой цифры
for digit in input_str:
if digit.isdigit():
if digit not in digits_count:
digits_count[digit] = 1
else:
digits_count[digit] += 1

# сортируем словарь по значениям
sorted_digits_count = sorted(digits_count.items(), key=lambda x: (-x[1], x[0]))

# выводим отсортированные цифры
for digit, count in sorted_digits_count:
print(digit, end='')
Остальные ответы
Лев Михайлов Мастер (2435) 1 месяц назад
 from collections import Counter as cnt 
print(*(i[0] for i in sorted(cnt(input()[:-1]).items(), key=lambda x: (x[1], x[0]))), sep='')
Похожие вопросы