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

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

У меня в задаче нужно н-ти сумму цифр натурального числа n. Можете пж посмотреть правильно ли я написал код и подправить если что ?
n=float(input('Введите число'))
S=0
while n>0:
      S=S+n%10
      n=n//10
print(S)
input()
  • Вопрос задан
  • 301 просмотр
Пригласить эксперта
Ответы на вопрос 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
Ответ написан
Комментировать
@akonovalov
Программист на компьютере
Когда-то решал такую же задачку, чуть позднее подсмотрел чуть более лаконичный вариант:
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, то работает правильно
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
11 мая 2024, в 00:19
1000 руб./за проект
10 мая 2024, в 23:51
30000 руб./за проект
10 мая 2024, в 23:33
2500 руб./за проект