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를 인쇄하고 False 값을 flag 변수에 할당합니다.

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 루프만 실행됩니다.

False 값을 flag 변수에 할당하면 인터프리터는 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