Python While ループ文

Python プログラミングでは、while 文はプログラムをループ実行するために使用されます。つまり、ある条件の下で、特定のプログラムを繰り返し実行し、繰り返し処理が必要な同じタスクを処理します。その基本的な形式は次のとおりです:

while 判断条件(condition):
    执行语句(statements)……

実行文は単一の文または文ブロックにすることができます。判断条件は任意の式にすることができ、ゼロ以外または非空(null)の値はすべて true になります。

判断条件が false の場合、ループは終了します。

実行フローチャートは次のとおりです:

Gif デモ Python while 文の実行プロセス

もう少し複雑な例:

サンプル

#!/usr/bin/python count = 0 while (count < 9): print 'The count is:', count count = count + 1 print "Good bye!"

サンプルを実行 »

上記のコードを実行した出力結果:

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
Good bye!

while 文には、ループをスキップするためのもう2つの重要なコマンド continue と break があります。continue は今回のループをスキップするために使用され、break はループを終了するために使用されます。さらに「判断条件」は定数値にすることもでき、ループが必ず成立することを示します。具体的な用法は次のとおりです:

# continue と break の使い方 i = 1 while i < 10: i += 1 if i%2 > 0: # 偶数でない場合は出力をスキップ continue print i # 偶数 2、4、6、8、10 を出力 i = 1 while 1: # ループ条件が 1 のため必ず成立 print i # 1〜10 を出力 i += 1 if i > 10: # i が 10 より大きい場合はループを終了 break


無限ループ

条件判断文が常に true の場合、ループは無限に実行され続けます。次の例のとおりです:

サンプル

#!/usr/bin/python # -*- coding: UTF-8 -*- var = 1 while var == 1 : # この条件は常に true のため、ループは無限に実行されます num = raw_input("Enter a number :") print "You entered: ", num print "Good bye!"

上記のサンプルの出力結果:

Enter a number  :20
You entered:  20
Enter a number  :29
You entered:  29
Enter a number  :3
You entered:  3
Enter a number between :Traceback (most recent call last):
  File "test.py", line 5, in <module>
    num = raw_input("Enter a number :")
KeyboardInterrupt

注意:上記の無限ループは、CTRL+C で中断できます。



ループでの else 文の使用

Python では、while … else はループ条件が false のときに else 文ブロックを実行します:

サンプル

#!/usr/bin/python count = 0 while count < 5: print count, " is less than 5" count = count + 1 else: print count, " is not less than 5"

上記のサンプルの出力結果は次のとおりです:

0 is less than 5
1 is less than 5
2 is less than 5
3 is less than 5
4 is less than 5
5 is not less than 5


単純な文のグループ

if 文の構文と同様に、while ループ本体に1つの文しかない場合は、その文を while と同じ行に書くことができます。次のように:

サンプル

#!/usr/bin/python flag = 1 while (flag): print 'Given flag is really true!' print "Good bye!"

注意:上記の無限ループは、CTRL+C を使用してCTRL+C中断できます。

その他の拡張