# 素数,大于1且只能被它本身整除的数
# 求素数
low=int(input("请输入一个较小的数:"))
upper=int(input("请输入一个较大的数:"))
i=2
list=[]
for i in range(low,upper+1):
j=2
for j in range(2,i):
if i%j==0:
break
else:
list.append(i)
print(list)
总的作用就是来找两个数之间的素数的。代码注视如下
# 素数,大于1且只能被它本身整除的数
# 求素数
low=int(input("请输入一个较小的数:"))#输入
upper=int(input("请输入一个较大的数:"))#输入
i=2 #并没有任何用
list=[] #新建一个空LIST
for i in range(low,upper+1):#循环判断两个数之间的所有数,upper+1是为了循环到较大的那个数
j=2 #确保每次循环都从2开始去除那个数,看看会不会整除。从1开始不行,因为每个数都被1整除
for j in range(2,i): #从2开始循环到那个数-1的数为止。这里不能是i也不能是i+1,前者是逻辑上的错误,后者是过度循环了
if i%j==0: #判断是否整除
break #整除了就跳出,不进行下面的list.append
else: #如果for循环正常执行完成,则执行else的内容
list.append(i)#把这个素数放进list里面
print(list)#输出
这个else是和for组合使用的。在for循环完整完成后才执行else;如果中途从break跳出,则连else一起跳出。
在 Python 中,else 不仅可以与 if 搭配使用,还可以与 for 结合,这里的else就是和for结合的
但 else 里面的语句不一定执行,取决于 for 循环能否正常执行完毕,如果 for 循环中有 break 字段等导致 for 循环没有正常执行完毕,那么 else 中的内容也不会执行