【发布时间】:2019-11-06 02:55:35
【问题描述】:
我创建了一个简单的素数测试算法,但对于像 15 这样的数字却失败了。为什么?
number = int(input("Test if Prime: "))
print ("Is " + str(number) + " Prime?: ")
for i in range (2, number):
if number % i == 0:
print ("No")
break
else:
print ("Yes")
我尝试了一个带有其他变体的 elif 语句,但它仍然不起作用:
number = int(input("Test if Prime: "))
print ("Is " + str(number) + " Prime?: ")
for i in range (2, number):
if number % i == 0:
break
elif number % i != 0:
print ("Yes")
感谢任何帮助。
【问题讨论】:
-
失败意味着当你输入 15 但打印
yes对吗? -
试试
for...else。 -
@Tserenjamts 是的,但它会打印“Yes. No.”
-
@JohnnyMopp 是的,去过那里,不起作用(添加到问题中)
-
示例:ideone.com/TSa5wf。注意它是
for...else,而不是if...else。
标签: python algorithm numbers primes primality-test