にイテレータの値を変更することで...のための範囲内..ループを終了できませんでした0を返しますが、代わりに0〜9を出力します。なぜi = 11がforループを停止しなかったのですか?は、私は次のスクリプトを持っているのpython
0
A
答えて
0
forループ内での変更i
は何も効果がありません。ループ内の要素数やループ中の要素数によって制御されるため、反復回数が実行されます。同様に値がi
次の反復で持ちます。
内部この
for elem in iterable:
#stuff
#other stuff
等forループがiterによって構築イテレータが場合を呼び出すとStopIteration例外をトロウますこの(任意のもののための任意の反復可能な場合)
iterator = iter(iterable)
while True:
try:
elem = next(iterator)
#stuff
except StopIteration:
break
#other stuff
ようなものに変換されますその内部には要素がなく、次の要素を取得するにはnextを使用します。 breakはfor/whileループを終了するために使用され、try-exceptは例外の捕捉と処理に使用されます。
ご覧のとおり、elem
(またはあなたの場合はi
)の変更は、繰り返しの回数または次の値に無意味です。途中であなたは[ブレーク](https://docs.python.org/2.7/reference/simple_stmtsを使用することができます
for i in range(10):
print i
break
関連する問題
- 1. 私は次のスクリプトを持っているのpython
- 2. のPython 3は、私は次のPythonスクリプトを持っている= C
- 3. は、私は私のPythonスクリプトでこのコマンドを持っているPythonスクリプト
- 4. は、私は次のPythonコードを持っているのPython
- 5. は、私はPythonで、次のコードを持っているのpython
- 6. `hash`は、私は次の行でスクリプトを持っているプロセス
- 7. ob_flush()私は、次のPHPスクリプトを持っているGoDaddyは
- 8. は、私は次のスクリプトを持っているJS
- 9. は、私はPythonの2に働いている、と私は次のスクリプト持っ出力からのPython
- 10. 私は次のコードを持っているスクリプトのタイムアウト
- 11. は、私は次のコードを持っているのPython
- 12. は、私はPythonで、次のコードを持っているNode.jsの
- 13. のSQLite Pythonは、私は次のコードを持っているテーブル
- 14. Pythonは、私は次のコードを持っている一行
- 15. Pythonは次のように私はURLを持っている
- 16. Pythonスクリプトは、私は以下の持っているUTC
- 17. 未読のメールは、次のように私はPythonスクリプトを持って
- 18. 私は、次のデータフレームを持っているのPython
- 19. 私は、私は次の行を持っているメイクファイルを、持っている
- 20. Javascriptの機能は、私は次のスクリプトを持って
- 21. PowerShellのHTMLは、私は次の行を持っているスクリプトを持っている
- 22. Pythonは、予想外に、私は、スクリプトを持っているos.rename
- 23. Pythonのパンダ私は、次のデータフレーム持っているデータフレーム
- 24. 私は、次のデータフレーム持っているPythonの
- 25. 私は次の日付形式持っているのPython
- 26. CDO.Message .Sendは、私は次のコードを持っているスクリプトの実行のタイムアウト
- 27. os.chdirは、私はそれに次の行を持っているのPython 3.6のスクリプトを書いたシンボリックリンク
- 28. Pythonは、私は、以下のセクションでPythonスクリプトを持っているQtGUI
- 29. は、PHPは、私はPHPスクリプトに次のコードを持っている整数
- 30. は、私は次のフォルダとファイルを持っているファイルのスクリプト
だろう、あなたのケースで、
break
を使用するため、ループを停止するには。 html?highlight = break#the-break-statement)forループを終了する – Copperfield