Добавление цифр в число (требуется пояснение кода)
Я встречал этот сегмент кода в другом месте. Он просто добавляет все цифры в данном номере:
def sumDigits(n):
sum = 0
while n > 0:
sum += n % 10
n //= 10
return sum
Проблема в том, что я не понимаю логику. В частности, я не понимаю точно, что делает цикл:
while n > 0:
sum += n % 10 # Why n % 10?
n //= 10 # Again, not sure why we divide the number by 10
Может ли кто-нибудь дать мне пример того, как работает алгоритм?
Спасибо!
1 ответ
Решение
Вы должны понимать 2 вещи:
n % 10
дать вам самую правую цифру числа. Например:123 % 10 = 3
n // 10
удалить самую правую цифру числа. Например:123 // 10 = 12
так что если вы повторите этот процесс, вы получите желаемый результат