2016-12-29 11 views
1

continueステートメントを説明できる人はいらっしゃいますか、私は理解してもらうために全力を尽くしていますが、すべての努力は無駄です。ここで私はPythonのドキュメントで見つけたサンプルプログラムは、私はそれを理解することはできません。continueステートメントを説明してください

for num in range(2, 10): 
    if num % 2 == 0: 
     print("Found an even number", num) 
     continue 
    else: 
     print("Found a number", num) 
+0

これは、ループの次の繰り返しでコードを継続させるだけです。あなたの例では本当に必要ではありません。 –

+0

Pythonのドキュメントをチェックしましたか?あなたは 'continue'とは何かを詳細に見つけるでしょう –

+0

https://docs.python.org/2/tutorial/controlflow.html#break-and-continue-statements-and-else-clauses-on-loops – Prune

答えて

5

continue文は、ループの現在の反復の残りの部分をスキップし、次の反復の先頭にジャンプするのPythonの原因となります。 continueが発生すると

>>> for num in range(2, 10): 
...  if num % 2 == 0: 
...   print("Found an even number", num) 
...   continue 
...  print("Found a number", num) 

Found an even number 2 
Found a number 3 
Found an even number 4 
Found a number 5 
Found an even number 6 
Found a number 7 
Found an even number 8 
Found a number 9 

、ループの終わりにprintがスキップされ、実行が取得するために再びforに行く:

は、そのページ上の元の例があるのPython 3用this documentation pageを参照してください。次の反復。偶数の場合、「偶数が見つかりました」が印刷されますが、「見つかった番号」はではなく、が印刷されます。これは、continueがループ本体の残りをスキップしたためです。


試料へのご変更 - elseを挿入するには - print("Found a number", num)はとにかく実行されないため、分岐(それはelseに座っている)、continueは廃止になります。

このようにして、continue(さらにはbreak)がif...elseの代替制御フローメカニズムであることがわかりました。どちらを使用するかは、状況やスタイルの好みによって異なります。

+0

そして次の反復にジャンプした後、Pythonはスキップされた反復に戻ります – Faruq

+0

@Faruq:いいえ、たとえば2の場合は、 'continue'が呼び出され、次の反復にジャンプします(次の値は'範囲 ')。それは再び2に戻ることはありません。 –

+0

ああ、私は今それを得ると思います。申し訳ありません、質問のために、私はちょうど13 – Faruq

関連する問題