@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>

Прошу помощи в решении.
  • Вопрос задан
  • 132 просмотра
Решения вопроса 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}')))
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Фаст Софт Санкт-Петербург
от 150 000 до 180 000 ₽
от 250 000 ₽
Sibdev Красноярск
от 120 000 до 180 000 ₽
25 мар. 2023, в 06:29
10000 руб./за проект
25 мар. 2023, в 06:28
1000 руб./за проект
25 мар. 2023, в 03:15
5000 руб./за проект