什么时候python while循环中断?

时间:2016-09-04 00:24:15

标签: python python-3.x

我是python或编码的新手。并在以下代码中遇到了一些while循环问题。

a = int(input('input a number here: '))

def largest_factor(x):   
    factor = x - 1
    while factor > 0:
        if x % factor == 0:
             return factor
        factor -= 1
        print(factor)

largest_factor(a)

我正在使用python 3.5,根据我的理解,循环不会中断,直到0> 0,所以我把打印(因子)放到考试中,然而,它停在最大因子(例如当x = 100时,因子打印从99一直到50,并且停止),并且没有达到0。 return语句杀死了while循环?谢谢你的时间。

2 个答案:

答案 0 :(得分:0)

有两种方法可以离开此循环,等待while语句终止或返回因子。

答案 1 :(得分:0)

你的假设是正确的。一旦循环命中return语句,函数将结束。由于100可被50整除,因此循环以函数结束结束。