2017-12-13 15 views
-4

なぜ内部ループについては、 1 +アッパーだけでなく、上位書かれています。私がupper + 1upperに変更してコードを実行すると、私は同じ結果になります!範囲内numの私はfoorループを理解していない

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

これは、「upper」があなたの例では素数でないためです –

+0

そのループ内で何を達成しようとしていますか?今のところ、何もせず、print(num)は決して呼び出されません(?) – Tekay37

+0

と** upper + 1 **は私の例では素数ですか?申し訳ありませんが私は理解していません。あなたはもう少し具体的なことができますか? – Bill

答えて

1

range(x,y)y-1で停止するからです。たとえば:

for i in range(2,5): 
    print(i) 

はあなたを与える:

2 
3 
4 

をあなたにもupperを確認したいのであれば、あなたは1、そうupper+1を追加する必要があります。 upperは素数ではないので、コードが同じ結果を返します。したがって、upperがチェックされても(範囲内のupper+1)、upperは出力されません。

+0

ありがとうございましたTanphi – Bill

+0

NP :)また、あなたの2番目のループでは、num(num numは常にそうであるので、num(2、num + 1))とrange 0) – Tanphi

+0

:)素晴らしい。あなたは私が気付かなかったことを説明します。私は近い将来、偉大なプログラマーになるでしょう:D – Bill

関連する問題