Pythonループ
一般に、文は順番に実行されます。関数内の最初の文が最初に実行され、次に違う文が実行されます。コードブロックを何度も実行する必要がある場合もありますね。例えば1ー100までカウントして1に戻るとかです。
ループステートメントは、ステートメントまたはステートメントのグループを複数回実行することを可能にします。次の図は、ループ文を示しています。
Pythonプログラミング言語は、ループ要件を処理するために、以下のタイプのループを提供します。
ループタイプ | 説明 |
---|---|
whileループ | 与えられた条件が真である間、ステートメントまたはステートメントのグループを繰り返します。ループ本体を実行する前に条件をテストします。 |
forループ | 一連のステートメントを複数回実行し、ループ変数を管理するコードを省略します。 |
ネストされたループ | while、for、do..whileのループの間に、1つ以上のループを使用することができます。 |
whileの例
count = 0 while (count < 9): print 'The count is:', count count = count + 1 print "9ですよ!"
The count is: 0
The count is: 1
The count is: 2
The count is: 3
The count is: 4
The count is: 5
The count is: 6
The count is: 7
The count is: 8
9ですよ!
forループ
for letter in 'Python': # First Example print 'Current Letter :', letter fruits = ['りんご', 'みかん', 'ぶどう'] for fruit in fruits: # Second Example print 'Current fruit :', fruit print "終了"
上記のコードを実行すると、次の結果が生成されます。
Current Letter : P Current Letter : y Current Letter : t Current Letter : h Current Letter : o Current Letter : n Current fruit : りんご Current fruit : みかん Current fruit : ぶどう 終了
ネストされたループ
次のプログラムは、ネストされたforループを使って2から100までの素数を求めます。
#!/usr/bin/python i = 2 while(i < 100): j = 2 while(j <= (i/j)): if not(i%j): break j = j + 1 if (j > i/j) : print i, "です" i = i + 1 print "終了!"
上記のコードが実行されると、次の結果が生成されます。
2 です 3 です 5 です 7 です 11 です 13 です 17 です 19 です 23 です 29 です 31 です 37 です 41 です 43 です 47 です 53 です 59 です 61 です 67 です 71 です 73 です 79 です 83 です 89 です 97 です 終了
ループ制御文
ループ制御ステートメントは、通常のシーケンスから実行を変更します。実行がスコープを離れると、そのスコープで作成されたすべての自動オブジェクトが破棄されます。
Pythonは以下の制御文をサポートしています。詳細を確認するには、以下のリンクをクリックしてください。
制御ステートメント | 説明 |
---|---|
breakステートメント | ループ文を終了し、ループの直後の文に実行を転送します。 |
Continue Statement | ループが本体の残りの部分をスキップし、繰り返し直す前にその状態を直ちに再テストします。 |
Pass Statement | Pythonのpassステートメントは、ステートメントが構文的に必要であるが、コマンドやコードの実行を望まない場合に使用されます。 |
break文
for letter in 'Python': # 例1 if letter == 'h': break print 'Current Letter :', letter var = 10 # 例2 while var > 0: print 'Current variable value :', var var = var -1 if var == 5: break print "Good bye!"
上記のコードを実行すると、次の結果がでできます
Current Letter : P Current Letter : y Current Letter : t Current variable value : 10 Current variable value : 9 Current variable value : 8 Current variable value : 7 Current variable value : 6 Good bye!