Python3 ループ文
この章では、Python のループ文の使用方法を紹介します。
Python のループ文には for と while があります。
Python のループ文の制御構造図は次のとおりです。
ループ制御のキーワードとメソッド
| キーワード / 関数 | 説明 | 例 |
|---|---|---|
for |
反復ループ。シーケンスまたは反復可能オブジェクトを走査するために使用します。 | for i in list: |
while |
条件ループ。条件が True の間、実行を続けます。 | while x > 0: |
break |
現在のループを直ちに終了します。 | break |
continue |
今回のループの残りのコードをスキップして、次の反復に進みます。 | continue |
else(ループ) |
ループが正常に終了した(break されていない)場合に実行されます。 | for i in range(3): ... else: ... |
pass |
ループ内のプレースホルダ文(空操作) | for i in range(5): pass |
range() |
整数シーケンスを生成し、通常 for ループと組み合わせて使用します。 | range(0, 5) |
enumerate() |
走査時にインデックスと値を同時に取得します。 | for i, v in enumerate(list): |
while ループ
Python の while 文の一般的な形式:
while 判断条件(condition):
执行语句(statements)……
実行フローチャートは次のとおりです。

Gif デモの実行:

同様に、コロンとインデントに注意する必要があります。また、Python には do..while ループはありません。
次の例では、while を使用して 1 から 100 までの合計を計算しています。
例
実行結果は次のとおりです。
1 到 100 之和为: 5050
無限ループ
条件式を常に false にしないように設定することで、無限ループを実現できます。例は次のとおりです。
例
上記のスクリプトを実行すると、出力結果は次のとおりです。
输入一个数字 :5 你输入的数字是: 5 输入一个数字 :
あなたは使用できます CTRL+C現在の無限ループを終了するために。
無限ループは、サーバー上のクライアントからのリアルタイムリクエストに非常に役立ちます。
while ループでの else 文の使用
while の後の条件文が false の場合、else の文ブロックが実行されます。
構文形式は次のとおりです。
while <expr>:
<statement(s)>
else:
<additional_statement(s)>
expr 条件文が true の場合、statement(s) 文ブロックが実行され、false の場合、additional_statement(s) が実行されます。
数字をループで出力し、大小を判定します:
例
上記のスクリプトを実行すると、出力結果は次のとおりです。
0 小于 5 1 小于 5 2 小于 5 3 小于 5 4 小于 5 5 大于或等于 5
単純な文のグループ
if 文の構文と似ていますが、while ループ本体に文が1つしかない場合は、その文を while と同じ行に書くことができます。次のようになります。
例
注意:上記の無限ループは、CTRL+C を使用してループを中断できます。
上記のスクリプトを実行すると、出力結果は次のとおりです。
サンプルへようこそ! サンプルへようこそ! サンプルへようこそ! サンプルへようこそ! サンプルへようこそ! ……
for 文
Python の for ループは、リストや文字列などの任意の反復可能オブジェクトを走査できます。
for ループの一般的な形式は次のとおりです。
フローチャート:

Python for ループの例:
例
上記のコードを実行すると、出力結果は次のとおりです。
Baidu Google サンプル Taobao
文字列内の各文字を出力するためにも使用できます:
例
上記のコードを実行すると、出力結果は次のとおりです。
r u n o o b
整数範囲の値は range() 関数と組み合わせて使用できます:
例
上記のコードを実行すると、出力結果は次のとおりです。
1 2 3 4 5
for...else
Python では、for...else 文はループ終了後にコードを実行するために使用されます。
構文形式は次のとおりです。
for item in iterable:
# 循环主体
else:
# 循环结束后执行的代码
ループが完了(つまり iterable 内のすべての要素を走査し終えた)後に、else 節のコードが実行されます。ループ中に break 文に遭遇した場合はループが中断され、その場合 else 節は実行されません。
例
print(x)
else:
print("Finally finished!")
スクリプトを実行すると、出力結果は次のとおりです。
0 1 2 3 4 5 Finally finished!
次の for の例では break 文を使用しています。break 文は現在のループ本体を抜け出すために使用され、else 節は実行されません。
例
スクリプトを実行すると、"サンプル" をループしたときにループ本体から抜け出します。
循环数据 Baidu 循环数据 Google サンプル! 完成循环!
range() 関数
数値シーケンスを走査する必要がある場合は、組み込みの range() 関数を使用できます。数値の列を生成します。例:
例
range() を使用して区間の値を指定することもできます:
例
range() を指定した数値から開始し、異なる増分(負数にすることもできます。これを「ステップ」と呼ぶこともあります)を指定することもできます:
例
負数:
例
range() 関数と len() 関数を組み合わせて、シーケンスのインデックスを走査できます。次のようになります:
例
range() 関数を使用してリストを作成することもできます:
例
range() 関数の使用方法の詳細については、以下を参照してください:https://www.example.com/python3/python3-func-range.html
break と continue 文およびループ内の else 節
break 実行フローチャート:

continue 実行フローチャート:
while 文のコード実行プロセス:
for 文のコード実行プロセス:
break文は for および while のループ本体を抜け出すことができます。for または while ループから終了した場合、対応するループの else ブロックは実行されません。
continue文は、現在のループブロック内の残りの文をスキップして、次のループに進むことを Python に伝えるために使用されます。
例
while での break の使用:
例
while n > 0:
n -= 1
if n == 2:
break
print(n)
print('ループ終了。')
出力結果は次のとおりです。
4 3 循环结束。
while での continue の使用:
例
while n > 0:
n -= 1
if n == 2:
continue
print(n)
print('ループ終了。')
出力結果は次のとおりです。
4 3 1 0 循环结束。
その他の例は次のとおりです。
例
上記のスクリプトを実行すると、出力結果は次のとおりです。
当前字母为 : R 当前字母为 : u 当前字母为 : n 当前字母为 : o 当前字母为 : o 当前变量值为 : 10 当前变量值为 : 9 当前变量值为 : 8 当前变量值为 : 7 当前变量值为 : 6 Good bye!
次の例では文字列 サンプル をループし、文字 o に遭遇したら出力をスキップします:
例
上記のスクリプトを実行すると、出力結果は次のとおりです。
当前字母 : R 当前字母 : u 当前字母 : n 当前字母 : b 当前变量值 : 9 当前变量值 : 8 当前变量值 : 7 当前变量值 : 6 当前变量值 : 4 当前变量值 : 3 当前变量值 : 2 当前变量值 : 1 当前变量值 : 0 Good bye!
ループ文には else 節を設けることができます。これは、リストを使い果たした(for ループの場合)か、条件が false になった(while ループの場合)ためにループが終了したときに実行されます。ただし、ループが break によって終了された場合は実行されません。
以下の例は素数を調べるループの例です:
例
上記のスクリプトを実行すると、出力結果は次のようになります:
2 是质数 3 是质数 4 等于 2 * 2 5 是质数 6 等于 2 * 3 7 是质数 8 等于 2 * 4 9 等于 3 * 3
pass 文
Python pass は空文であり、プログラム構造の完全性を保つためのものです。
pass は何も行わず、通常はプレースホルダ文として使用されます。次の例の通りです。
例
最小のクラス:
例
以下の例では、文字が o のときに pass ステートメントブロックを実行します:
例
上記のスクリプトを実行すると、出力結果は次のようになります:
当前字母 : R 当前字母 : u 当前字母 : n 执行 pass 块 当前字母 : o 执行 pass 块 当前字母 : o 当前字母 : b Good bye!その他の拡張