Python

ПОЖАЛУЙСТА, ПОМОГИТЕ, С ЭТОЙ ЗАДАЧЕЙ. ПИТОН.

Задача 7. Наибольшая сумма цифр
Вводится N чисел. Среди натуральных чисел, которые были введены, найдите наибольшее по сумме цифр. Выведите на экран это число и сумму его цифр.
ДС
Де Сол
58 825
Лучший ответ
Нурболат Жаукенов Спасибо вам большое.
#Для массива натуральных чисел, в котором может быть какое угодно количество элементов с максимальной суммой цифр:
def f(n): return sum([int(j) for j in str(n)])
a=[int(x) for x in input('>> ').split() ]
b,max=[],0
for x in a:
~~fn=f(n)
~~if fn>max: max=fn; b=[fn]
~~elif fn==max: b.append(fn)
print(*b)
#Выведутся все необходимые элементы, даже повторяющиеся! А если вводятся необязательно натуральные целые, то в конце генератора ввода надо будет поставить if int(x)>0
Gennadii Korostelev
Gennadii Korostelev
28 648
seqNum = int(input('Введите количество чисел: '))
max_m = 0
max_sum =0
summ = 0
for i in range(seqNum):
print('Введите число: ', end = ' ')
number = int(input())
this_num = number
while number > 0:
summ += number %10
number //= 10
if summ > max_sum:
max_sum = summ
max_num = this_num
summ = 0
print('Число',max_num,'имеет максимальную сумму цифр:', max_sum)
Владимир Зайцев Скажите для чего задана переменная max_m = 0 ?
Владимир Зайцев и при выполнении данного кода, почему-то всегда последнее введённое число выводится на экран как наибольшее число...
total_number = int(input("Введите кол-во цифр: "))
sum_rem = 0
amount = 0
this_number = 0
this_number_two = 0
for num in range (1, total_number + 1) :
~~print("Введите", num, "число")
~~number = int(input())
~~this_number = number
~~while number > 0 :
~~ ~~sum_rem += number % 10
~~~~number //= 10
~~if sum_rem > amount :
~~~~amount = sum_rem
~~~~this_number_two = this_number
~~~~sum_rem = 0
~~else:
~~~~sum_rem = 0
print("Наибольшее по сумме цифр число", this_number_two, 'сумма', amount )