Python3-python-while-loop

提供:Dev Guides
移動先:案内検索

Python 3-whileループステートメント

Pythonプログラミング言語の while ループステートメントは、特定の条件が真である限り、ターゲットステートメントを繰り返し実行します。

構文

Pythonプログラミング言語の while ループの構文は-

while expression:
   statement(s)

ここで、* statement(s)は、単一のステートメントまたは均一なインデントを持つステートメントのブロックです。 *condition は任意の式であり、trueはゼロ以外の値です。 条件が真の間、ループが繰り返されます。

条件が偽になると、プログラム制御はループの直後の行に渡されます。

Pythonでは、プログラミング構造の後に同じ数の文字スペースでインデントされたすべてのステートメントは、単一のコードブロックの一部と見なされます。 Pythonは、ステートメントをグループ化する方法としてインデントを使用します。

流れ図

Python whileループ

ここで、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キーを押す必要があります。