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