Python 我不知道';我不知道为什么这个while循环不';不要停止迭代
这在codewars.com上是一个挑战,但我不明白为什么这个while循环不起作用Python 我不知道';我不知道为什么这个while循环不';不要停止迭代,python,python-3.x,Python,Python 3.x,这在codewars.com上是一个挑战,但我不明白为什么这个while循环不起作用 def数字根目录(n): #创建变量combine以获得和 合并=0 #只要n大于两个数。 当n>10时: #将n转换为字符串以进行迭代 对于str(n)中的i: #求n中每个元素的和 合并+=int(i) #将n重置为等于组合结果 n=联合收割机 回程联合收割机 此外,任何解决方案都将受到欢迎,以下是挑战的链接 很高兴您正在更新n,但是合并如何呢。也许在每次迭代结束时都需要重置?我会执行以下操作: def
def数字根目录(n):
#创建变量combine以获得和
合并=0
#只要n大于两个数。
当n>10时:
#将n转换为字符串以进行迭代
对于str(n)中的i:
#求n中每个元素的和
合并+=int(i)
#将n重置为等于组合结果
n=联合收割机
回程联合收割机
此外,任何解决方案都将受到欢迎,以下是挑战的链接
很高兴您正在更新
n
,但是合并如何呢。也许在每次迭代结束时都需要重置?我会执行以下操作:
def digital_root(n):
combined = 0
while True:
for i in str(n):
combined += int(i)
print combined
# this is the condition to check if you should stop
if len(str(combined)) < 2:
return combined
else:
n = combined
combined = 0
有趣;)
def数字根目录(n):
如果n<10,则返回n,否则数字_根(str(n)中i的和(int(i)))
请在这里告诉我们一些上下文。什么是n?你想用这个函数实现什么?n是一个数字,这里是我想要实现的链接我真的是一个#%$*@!谢谢你的来信我们都去过,不用担心!这就是为什么编码很有趣。太好了,我喜欢它^^谢谢,我感谢你的帮助:)
def digital_root(n):
combined = 0
while True:
for i in str(n):
combined += int(i)
print combined
if combined < 10:
return combined
else:
n = combined
combined = 0
def digital_root(n):
return n if n < 10 else digital_root(sum(int(i) for i in str(n)))