Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我不知道';我不知道为什么这个while循环不';不要停止迭代_Python_Python 3.x - Fatal编程技术网

Python 我不知道';我不知道为什么这个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

这在codewars.com上是一个挑战,但我不明白为什么这个while循环不起作用

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)))