当我 运行 这个素因数程序时没有任何反应
Nothing happens when I run this prime factors program
这里是初学者。我 运行 这个 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)
看看这个:
while is_not_prime(y):
prime_factors(y)
16
不是质数,所以你陷入了无限的 while True
循环。
如果你想跳出这个循环,你将需要以某种方式改变循环内的 y
。
这里是初学者。我 运行 这个 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)
看看这个:
while is_not_prime(y):
prime_factors(y)
16
不是质数,所以你陷入了无限的 while True
循环。
如果你想跳出这个循环,你将需要以某种方式改变循环内的 y
。