【发布时间】:2019-11-05 21:28:56
【问题描述】:
所以,这是我计算一个数字是否为素数的代码。如果一个数字是否为素数,它也会打印出该数字的除数。当我尝试在单行的列表中打印非素数的除数时,我的问题就出现了。
x=int(input())
if x<0:
print("you did not enter a natural nubmer")
else:
if x > 1:
for i in range(2, x//2):
if (x % i) == 0:
print(x, "is not a prime number")
for n in range (2, x-1):
if x%n==0:
print[n]
break
else:
print(x, "is a prime nubmer")
print([1,x])
else:
print(x, "is not a prime number")
for n in range (2, x-1):
if x%n==0:
print[n]
例如 8,它会打印它不是素数,然后它会打印 [2] 和 [4],但我希望它打印 [2,4]。请帮忙,谢谢。
【问题讨论】:
标签: python for-loop primes division