我必须编写一个程序,通过遍历range(1,num)的除数来检查数字是否为质数。(例如,如果输入为5,则程序将检查2是除数,然后是3,然后是4)。有人可以解释一下如何将最后一个表达式放在程序中(“这是质数”打印函数),以便它仅出现在“ for”循环中的“ else”函数之后,而不出现在“ if div = = 0:“语句?谢谢!
while True:
num = int(input("Enter a positive number to see if it's a prime number: "))
if num > 1:
break
elif num == 1:
print("1 is technically not a prime number.")
else:
print("Number cannot be negative- try again.")
for num1 in range(2,num):
div = num%num1
if div == 0:
print(num1,"is a divisor of",num,"... stopping.")
print(num,"is not a prime number.")
break
else:
print(num1,"is NOT a divisor of",num,"... continuing")
print(num,"is a prime number!")
假设您已将除数除以1,那么您所要做的就是计算除数以外的除数(数字本身)。因此,为了保持您的代码结构,我添加了一个计数器。
while True:
num = int(input("Enter a positive number to see if it's a prime number: "))
if num > 1:
break
elif num == 1:
print("1 is technically not a prime number.")
else:
print("Number cannot be negative- try again.")
for num1 in range(2,num):
div = num%num1
count = 0
if div == 0:
print(num1,"is a divisor of",num,"... stopping.")
print(num,"is not a prime number.")
break
else:
count += 1
print(num1,"is NOT a divisor of",num,"... continuing")
if count == 1:
print(num,"is a prime number!")
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句