@Emince

Как найти наибольшее по сумме чисел?

Вводится N чисел.
Среди натуральных чисел, которые были введены,
найдите наибольшее по сумме цифр. Выведите на экран это число и сумму его цифр.
Сделал так, но что-то не особо рабочий....

number_of_digits = int(input('Введите количество чисел: '))
max_m = 0
max_sum = 0
summ = 0

for i in range(number_of_digits):
    print('Введите число: ', end=' ')
    number = int(input())
    this_num = number
    while number > 0:
      summ += number % 10
      number //= 1
      if summ > max_sum:
        max_sum = summ
        max_num = this_num
        summ = 0
print('Число', max_num, 'имеет максимальную сумму цифр:', max_sum)<code lang="python">

</code>

Прошу помощи в решении.
  • Вопрос задан
  • 2410 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
number //= 1
Может, всё-таки 10?

Ну и почему ты делаешь проверку на максимум после каждой цифры (т.е. внутри while),а не после того как ты посчитал сумму всех цифр числа?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
JustKappaMan
@JustKappaMan
Frontend, backend, desktop. Всего понемногу.
nums = [111, 99, 123]

result = max(nums, key=lambda n: sum(map(int, f'{n}')))

print(result, sum(map(int, f'{result}')))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы