@Ezio1476
Начинающий программист.

Правильно ли я пишу код?

У меня в задаче нужно н-ти сумму цифр натурального числа n. Можете пж посмотреть правильно ли я написал код и подправить если что ?
n=float(input('Введите число'))
S=0
while n>0:
      S=S+n%10
      n=n//10
print(S)
input()
  • Вопрос задан
  • 300 просмотров
Пригласить эксперта
Ответы на вопрос 3
aRegius
@aRegius
Python Enthusiast
Пробуйте при помощи функции sum() (свежо предание):
>>> num = 5
>>> sum(int(i) for i in str(num))
5
>>> num = 25
>>> sum(int(i) for i in str(num))
7
>>> num = 325
>>> sum(int(i) for i in str(num))
10
Ответ написан
Когда-то решал такую же задачку, чуть позднее подсмотрел чуть более лаконичный вариант:
def sum_digits(n):
    r = 0
    while n:
        r, n = r + n % 10, n / 10
    return r

P.S. Не пренебрегайте PEP8, все взрослые пацаны-питонисты стараются ему следовать.
Ответ написан
1 Число натуральное, поэтому лучше: n=int(input("enter number: "))
2 есть способы проще, но если через цикл while, то работает правильно
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Сбер Санкт-Петербург
от 100 000 до 100 000 ₽
Ovision Санкт-Петербург
от 100 000 до 300 000 ₽
10 мая 2021, в 10:12
35000 руб./за проект
10 мая 2021, в 10:03
3000 руб./за проект
10 мая 2021, в 09:51
1000 руб./в час