我正在嘗試撰寫一個函式,該函式將接受一個整數,將其劃分為數字,然后將它們相加,如果總和 >=10,則回圈執行該程序,直到得到一位數的總和。誰能告訴我為什么我的“while True”回圈沒有中斷:
def digital_root(n):
while True:
digits = []
for i in str(n):
digits.append(int(i))
if sum(digits) < 10:
return sum(digits)
我并不是真的在尋找最佳解決方案,我只是想知道為什么這不起作用。
uj5u.com熱心網友回復:
您應該n在每次迭代中更新 的值,如下所示:
def digital_root(n):
while True:
digits = []
for i in str(n):
digits.append(int(i))
n = sum(digits) # add
if n < 10:
return n
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/395979.html
上一篇:剪紙演算法
下一篇:如何有效地確定完美冪?
