【发布时间】:2020-07-19 22:37:30
【问题描述】:
我是 python 新手。我只是尝试编写一个基本程序(检查一个数字是否为素数)。我参考了一个在线网站的代码并尝试自己编写一个。
代码如下:
#PYTHON PROGRAM TO CHECK PRIME NUMBER
print("Enter a number :: ", end = " ")
num = int(input())
if num > 1:
for i in range(2,int(num/2)):
if(num%i) == 0:
print(str(num) + " is not prime")
break;
else:
print(str(num) + " is prime")
else:
print(str(num) + " is neither prime nor composite.")
我的疑问在于代码的工作。它运行没有任何错误并产生正确的输出。
迷惑代码sn-p是:
for i in range(2,int(num/2)):
if(num%i) == 0:
print(str(num) + " is not prime")
break;
else:
print(str(num) + " is prime")
编辑: 为什么 for 循环后面有 else 而 if 语句后面没有? 有人可以解释一下吗?
【问题讨论】:
-
其中哪一部分你不明白?你知道
%是做什么的吗? -
这是典型的
for...else构造。这可能会帮助stackoverflow.com/questions/23625189/… -
@mad_ 是的,这是我的疑问。非常感谢!
标签: python