Рассчитать и вывести сумму всех цифр введённого числа

n = int(input())
h = 0
while n>0:
  a = n%10
  h = h +a
  n//10
  print(h)

Почему код не выводит сумму?


Ответы (1 шт):

Автор решения: Zhihar
n//10

но нет присваивания n, сделайте

n //= 10

кроме того print(h) выведите не внутри цикла, а снаружи

итого:

n = int(input())

h = 0
while n>0:
  a = n % 10
  h = h +a
  n //= 10

print(h)

кроме того стоит учесть, что ввести могут и отрицательные числа, т.е. лучше сделать

n = abs(int(input()))

P.S.

но это же питон, тут многое можно сделать в 1 строчку :)

res = sum(map(int, input()))
→ Ссылка