2012-01-27 8 views
1

のループに入れて、のブレークなしでのコマンドを使用することはできますか?
私はこれをC++ forループと比較するためにこの質問をしています。実際にはが条件を毎回チェックしています。Pythonでbreak forループ

すなわち、それは以下のようにC++でループのために中断することが可能です:

for(int i=0; i<100; i++) 
    i = 1000; // equal to break; 

はPythonで同じことを行うには、それは可能ですか?

for i in range(0,100): 
    i = 10000 // not working 
+0

Pythonの 'for'は、より多くのオリジナルのCのようなALL_で_not C++ 11の範囲ベース' for'、のようなものです++ 'のために'。一連の項目を繰り返し処理します。 –

+1

可能な複製:http://stackoverflow.com/questions/8107285/why-doesnt-this-loop-break – 0605002

+0

あなたはPythonを学ぶためにどのチュートリアルを使用していますか? –

答えて

6

Pythonの「それぞれの」実際にあるとiterables(ないループ条件)で使用される「ため」。

代わりに、あなただけの各パスのループ条件をチェックするwhile文を使用することができます。

i = 0 
while i < 1000: 
    i = 1000 

別の方法としては、ループを終了するためにブレーク文とペアにif文を使用することです:

for i in range(1000): 
    if i == 10: 
     break 
1

その目的のためにwhileループを使用します。

i = 0 
while i < 100: 
    i = 1000 
0

これはうまくいきません。その理由は、原則として、昇順の数字のリストの要素を反復していることです(本当に真であるかどうかは、Python 2または3を使用しているかどうかによって異なります)。あなたはいつでもループから抜け出すために 'break'キーワードを使うことができますが、それを超過するとコードを辿るのが難しくなるかもしれません。

1

いいえ、forはPythonのようには機能しません。 forは、リスト(この場合))または他のコンテナまたはiterableに対して反復処理を行います。 for i in range(0, 100)は、「iiが100以上になるまでインクリメントi」という意味ではなく、「リストが使い果たされるまで、これらの100アイテムのリストから連続するアイテムにiを設定する」という意味です。

iが50の場合、リストの次の項目は、iに何を設定しても、まだ51です。とにかくお勧めです。

break