我不明白foor循环

时间:2017-12-13 10:03:50

标签: python for-loop

为什么 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)

1 个答案:

答案 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),也不会打印上部。