为什么 for loop 内写上+ 1 而不只是上。如果我用上限更改上限+ 1 并运行代码,我将得到相同的结果!
适用于范围内的数字(较低,**上限+ 1 )**
# Python program to display all the prime numbers within an interval
lower = int(input("Enter lower range: "))
upper = int(input("Enter upper range: "))
print("Prime numbers between",lower,"and",upper,"are:")
for num in range(lower,upper + 1):
# prime numbers are greater than 1
if num > 1:
for i in range(2,num):
if (num % i) == 0:
break
else:
print(num)
答案 0 :(得分:1)
这是因为range(x,y)
在y-1
处停止。例如:
for i in range(2,5):
print(i)
会给你:
2
3
4
因此,如果您还要检查upper
,则应添加1,upper+1
。您的代码返回相同的结果,因为upper
不是素数,因此即使选中了上限(范围内为upper+1
),也不会打印上部。