我是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循环?谢谢你的时间。
答案 0 :(得分:0)
有两种方法可以离开此循环,等待while语句终止或返回因子。
答案 1 :(得分:0)
你的假设是正确的。一旦循环命中return语句,函数将结束。由于100可被50整除,因此循环以函数结束结束。