Python の無限ループのテキストメニュー

Aditya Raj 2023年1月30日
  1. Python の無限ループのテキストメニュー
  2. Python で break ステートメントを使用して無限ループでテキストメニューを終了する
  3. Python の Flag 変数を使用して無限ループでテキストメニューを終了する
  4. まとめ
Python の無限ループのテキストメニュー

while ループと if-else ステートメントを使用して、Python プログラムにさまざまなツールを実装できます。この記事では、Python で無限ループのテキストメニューを作成します。

Python の無限ループのテキストメニュー

条件付きステートメントで while ループを使用して、無限ループでテキストメニューを作成します。while ループ内では、最初にユーザーにいくつかのオプションを表示し、オプションを表示した後、ユーザーからの入力を受け取ります。

入力を受け取った後、プログラムは目的の出力を出力します。最後に、プログラムはオプションを出力します。

これは、プログラムがユーザーによって手動で終了されるまで続きます。

これを理解するために、次のプログラムを検討してください。

def options():
    print("Enter 1 to print 'Hi'.")
    print("Enter 2 to print 'Hello'.")
    print("Enter 3 to print 'Namaste'.")
    print("Enter 4 to print 'Bonjour'.")
    print("Enter 5 to print 'Hola'.")


while True:
    options()
    option = int(input())
    if option == 1:
        print("Hi")
    elif option == 2:
        print("Hello")
    elif option == 3:
        print("Namaste")
    elif option == 4:
        print("Bonjour")
    elif option == 5:
        print("Hola")

出力:

Enter 1 to print 'Hi'.
Enter 2 to print 'Hello'.
Enter 3 to print 'Namaste'.
Enter 4 to print 'Bonjour'.
Enter 5 to print 'Hola'.
1
Hi
Enter 1 to print 'Hi'.
Enter 2 to print 'Hello'.
Enter 3 to print 'Namaste'.
Enter 4 to print 'Bonjour'.
Enter 5 to print 'Hola'.
2
Hello
Enter 1 to print 'Hi'.
Enter 2 to print 'Hello'.
Enter 3 to print 'Namaste'.
Enter 4 to print 'Bonjour'.
Enter 5 to print 'Hola'.
^D
Traceback (most recent call last):
  File "/home/aditya1117/PycharmProjects/pythonProject/webscraping.py", line 11, in <module>
    option = int(input())
EOFError: EOF when reading a line

上記のコードでは、最初に関数 options() を定義して、ユーザーが利用できるさまざまなオプションを出力しています。その後、while ループを作成しました。

while ループ内で、最初に options() 関数を実行しました。その後、ユーザーに番号の入力を求めました。

続いて、input() 関数が文字列を返したため、int() 関数を使用して入力を整数に変換しました。

プログラムは、入力に従ってメッセージを出力しました。その後、プログラムは再びオプションを表示しました。

これは、ユーザーがプログラムを手動で終了するまで続きました。

次のセクションで説明するように、いくつかの方法を使用して while ループを終了し、プログラムに進むことができます。

Python で break ステートメントを使用して無限ループでテキストメニューを終了する

while ループを終了するには、指定されたオプション以外の任意の番号を押すようにユーザーに求めます。その後、条件文に else ブロックを含めます。

ユーザーが指定されたオプション以外の番号を入力すると、次の例に示すように、Bye が出力され、break ステートメントを使用して while ループから抜け出します。

def options():
    print("Enter 1 to print 'Hi'.")
    print("Enter 2 to print 'Hello'.")
    print("Enter 3 to print 'Namaste'.")
    print("Enter 4 to print 'Bonjour'.")
    print("Enter 5 to print 'Hola'.")
    print("Enter any other number to terminate.")


while True:
    options()
    option = int(input())
    if option == 1:
        print("Hi")
    elif option == 2:
        print("Hello")
    elif option == 3:
        print("Namaste")
    elif option == 4:
        print("Bonjour")
    elif option == 5:
        print("Hola")
    else:
        print("Bye")
        break

出力:

Enter 1 to print 'Hi'.
Enter 2 to print 'Hello'.
Enter 3 to print 'Namaste'.
Enter 4 to print 'Bonjour'.
Enter 5 to print 'Hola'.
Enter any other number to terminate.
1
Hi
Enter 1 to print 'Hi'.
Enter 2 to print 'Hello'.
Enter 3 to print 'Namaste'.
Enter 4 to print 'Bonjour'.
Enter 5 to print 'Hola'.
Enter any other number to terminate.
3
Namaste
Enter 1 to print 'Hi'.
Enter 2 to print 'Hello'.
Enter 3 to print 'Namaste'.
Enter 4 to print 'Bonjour'.
Enter 5 to print 'Hola'.
Enter any other number to terminate.
12
Bye

上記の例では、ユーザーが 1 から 5 以外の数値を入力すると、プログラムの実行は条件ステートメントの else ブロックに入ります。したがって、プログラムは Bye を出力し、break ステートメントが実行されます。

このため、プログラムの実行は while ループから外れます。

Python の Flag 変数を使用して無限ループでテキストメニューを終了する

break ステートメントを使用する代わりに、flag 変数を使用して無限ループの実行を制御できます。まず、while ループを実行する前に、flag 変数を True に初期化します。

次に、flag 変数が True の場合、while ループを実行します。while ループ内で、ユーザーが指定されたオプション以外の数値を入力すると、Bye が出力され、値 Falseflag 変数に割り当てられます。

flag 変数が False になると、while ループの実行は自動的に終了します。これは、次のコードで確認できます。

def options():
    print("Enter 1 to print 'Hi'.")
    print("Enter 2 to print 'Hello'.")
    print("Enter 3 to print 'Namaste'.")
    print("Enter 4 to print 'Bonjour'.")
    print("Enter 5 to print 'Hola'.")
    print("Enter any other number to terminate.")


flag = True
while flag:
    options()
    option = int(input())
    if option == 1:
        print("Hi")
    elif option == 2:
        print("Hello")
    elif option == 3:
        print("Namaste")
    elif option == 4:
        print("Bonjour")
    elif option == 5:
        print("Hola")
    else:
        print("Bye")
        flag = False

出力:

Enter 1 to print 'Hi'.
Enter 2 to print 'Hello'.
Enter 3 to print 'Namaste'.
Enter 4 to print 'Bonjour'.
Enter 5 to print 'Hola'.
Enter any other number to terminate.
1
Hi
Enter 1 to print 'Hi'.
Enter 2 to print 'Hello'.
Enter 3 to print 'Namaste'.
Enter 4 to print 'Bonjour'.
Enter 5 to print 'Hola'.
Enter any other number to terminate.
3
Namaste
Enter 1 to print 'Hi'.
Enter 2 to print 'Hello'.
Enter 3 to print 'Namaste'.
Enter 4 to print 'Bonjour'.
Enter 5 to print 'Hola'.
Enter any other number to terminate.
12
Bye

上記の例では、flag 変数が False になると、while ループの実行が終了します。これは、Python インタープリターが最初に flag 変数に値 True が含まれているかどうかをチェックするためです。はいの場合、while ループのみが実行されます。

Falseflag 変数に割り当てると、インタープリターは、while ループを次に実行する前に、flag 変数の値をチェックします。flag 変数の値が False であることを確認すると、while ループを終了します。

まとめ

この記事では、Python の while ループと条件ステートメントを使用して、無限ループのテキストメニューを作成しました。また、break ステートメントと flag 変数を使用して無限ループの実行を終了する方法についても説明しました。

著者: Aditya Raj
Aditya Raj avatar Aditya Raj avatar

Aditya Raj is a highly skilled technical professional with a background in IT and business, holding an Integrated B.Tech (IT) and MBA (IT) from the Indian Institute of Information Technology Allahabad. With a solid foundation in data analytics, programming languages (C, Java, Python), and software environments, Aditya has excelled in various roles. He has significant experience as a Technical Content Writer for Python on multiple platforms and has interned in data analytics at Apollo Clinics. His projects demonstrate a keen interest in cutting-edge technology and problem-solving, showcasing his proficiency in areas like data mining and software development. Aditya's achievements include securing a top position in a project demonstration competition and gaining certifications in Python, SQL, and digital marketing fundamentals.

GitHub

関連記事 - Python Loop