0
这里的初学者。我运行这个Python代码,它应该可以找到并打印任何数字的主要因素(在本例中为16),但是在控制台中什么都没有出现。帮帮我!当我运行这个素数因子程序时,什么也没有发生
def is_not_prime(x):
for i in range(2,x):
if x % i == 0:
return True
break
else:
return False
def prime_factors(n):
for i in range(2,n):
if n % i == 0:
x = i
primes.append(x)
break
y = n/x
return y
primes = []
def main(y):
while is_not_prime(y):
prime_factors(y)
primes.append(y)
print(primes)
main(16)
我以为我在'prime_factors'函数内改变'y'? – conjenks
在'prime_factors'函数的本地范围内更改'y',对'main'函数的本地范围内的'y'没有影响。 – wim
好的,谢谢。我通过在'while'循环中放置实际函数'prime_factors'并在其末尾修改'y'来解决这个问题,但现在我发现实际的程序没有返回正确的答案,所以我必须继续观察它。我很感激帮助。 – conjenks