Я пишу рекурсивную функцию для вычисления цифрового root заданного числа:
def digital_root(num):
sum = 0
while num > 0:
sum += num % 10
num = num // 10
while sum > 10:
sum = digital_root(sum)
return sum
Я не уверен, следует ли заменить второй while
на оператор if
, и если да, то почему? (а если нет, то почему?)
Когда я пробую обе версии, возвращаемое значение одинаково. Например, для числа 10598
выходные данные в обоих из них равны 5
.