问题描述
def prime_no():
number = int(input("Enter your number for which you wanna generate prime factors: "))
prime = [2,3]
numb = [*range(4,number + 1)]
for x in numb:
while x > number:
if x % 2 == 0:
continue
if x % numb == 0 and x != numb:
continue
else:
prime.append(x)
print(prime)
第二个在while循环中有所不同,因为堆栈将其识别为错误。 输出保持不变[2,3]。我在做什么错了?
解决方法
numb
是一个列表,模运算符不适用于列表。您也没有正确缩进。同样,x
是一个数字,您正在检查它是否不等于列表numb
,它将永远不会相等。因此,它一直在继续。