Python3-python-while-loop
Python 3-whileループステートメント
Pythonプログラミング言語の while ループステートメントは、特定の条件が真である限り、ターゲットステートメントを繰り返し実行します。
構文
Pythonプログラミング言語の while ループの構文は-
while expression:
statement(s)
ここで、* statement(s)は、単一のステートメントまたは均一なインデントを持つステートメントのブロックです。 *condition は任意の式であり、trueはゼロ以外の値です。 条件が真の間、ループが繰り返されます。
条件が偽になると、プログラム制御はループの直後の行に渡されます。
Pythonでは、プログラミング構造の後に同じ数の文字スペースでインデントされたすべてのステートメントは、単一のコードブロックの一部と見なされます。 Pythonは、ステートメントをグループ化する方法としてインデントを使用します。
流れ図
ここで、whileループの重要なポイントは、ループが実行されない可能性があることです。 条件がテストされ、結果がfalseの場合、ループ本体はスキップされ、whileループの後の最初のステートメントが実行されます。
例
#!/usr/bin/python3
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!
ここで、printステートメントとincrementステートメントで構成されるブロックは、countが9以上になるまで繰り返し実行されます。 反復ごとに、インデックスカウントの現在の値が表示され、1ずつ増加します。
無限ループ
条件が決してFALSEにならない場合、ループは無限ループになります。 この条件が決してFALSE値に解決されない可能性があるため、whileループを使用する場合は注意が必要です。 これにより、終了しないループが発生します。 このようなループは、無限ループと呼ばれます。
無限ループは、クライアントプログラムが必要に応じてサーバーと通信できるように、サーバーを継続的に実行する必要があるクライアント/サーバープログラミングで役立ちます。
例
#!/usr/bin/python3
var = 1
while var == 1 : # This constructs an infinite loop
num = int(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 :11
You entered: 11
Enter a number :22
You entered: 22
Enter a number :Traceback (most recent call last):
File "examples\test.py", line 5, in
num = int(input("Enter a number :"))
KeyboardInterrupt
上記の例は無限ループに入り、プログラムを終了するにはCTRL + Cを使用する必要があります。
elseステートメントをループで使用する
Pythonは、ループステートメントに関連付けられた else ステートメントをサポートしています。
- for ループで else ステートメントが使用される場合、ループがリストの繰り返しを使い果たしたときに else ステートメントが実行されます。
- while ループで else ステートメントを使用する場合、条件がfalseになると else ステートメントが実行されます。
次の例は、elseステートメントと、5未満である限り数値を出力するwhileステートメントとの組み合わせを示しています。それ以外の場合、elseステートメントが実行されます。
例
#!/usr/bin/python3
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ヘッダーと同じ行に配置できます。
例
以下は、 one-line while 句の構文と例です-
#!/usr/bin/python3
flag = 1
while (flag): print ('Given flag is really true!')
print ("Good bye!")
上記の例は無限ループに入り、終了するにはCTRL + Cキーを押す必要があります。