我正在编写一个程序来为我的学校找到Prime Number项目。我使用函数和for循环来完成这个项目。我的问题是我的print语句无法正常工作。我想打印,如果它是黄金或不只是一次。我知道为什么它重复(for循环的bcz),但我想知道如何打印一次。
Ps
my else:
print ("not prime")
它不起作用,我不知道......如果有人帮助我那将是伟大的。这是我的代码:
def printscrean(m):
if m > 0:
print ("YES! It is a Prime Number \n")
print (ASK, "MOD", i , "=", m)
else:
print ("not prime")
return;
ASK = int (input("YOUR NUMBER:"))
for i in range (2,ASK):
m= ASK%i
if (m == 0):
break
printscrean(m)
答案 0 :(得分:1)
你确定你有正确的逻辑吗?
1.您应该检查数字是否大于1。
我更喜欢在功能内完成所有工作(清洁代码:))
你的问题在于将打印陈述放在循环中
#3
def printscrean(num):
flag = 0
for i in range (2, num):
if (num % i == 0):
print ("Not prime")
flag =1
break
if flag == 0 :
print ("YES! It is a Prime Number \n")
#1
ASK = int (input("YOUR NUMBER:"))
if ASK > 1:
#2
printscrean(ASK)
else:
print("The number is not prime")