파이썬의 반복문을 활용해 홀수 출력 프로그램과 메뉴 화면 제작 예제를 살펴보려고 합니다. continue라는 명령어의 개념과 활용법 또한 함께 알아보겠습니다.
continue 명령어의 특징과 활용
continue는 우리말로 '계속하다'라는 의미를 갖습니다. 반복문 안에서 사용하게 되면 특정 조건을 충족할 때 해당 경우 이후의 코드를 건너뛰고 다음 회차의 반복으로 넘어가게 하는 명령어입니다. 실행 중 일부를 생략해도 되는 경우 명령어 실행의 효율성을 위해 유용하게 활용할 수 있습니다.
continue 명령어의 기본 구조
while 조건:
실행할 코드
if 특정 조건:
continue # 이후 코드 건너뛰기
실행할 코드
홀수 출력 프로그램
그러면 while문과 continue를 활용하여 1부터 10까지의 숫자 중 홀수만 출력하는 프로그램을 작성해 보겠습니다.
예제 코드
i = 0 # 초기화
while i < 10:
i += 1 # 반복문 시작 시 i 증가
if i % 2 == 0: # 짝수일 경우
continue # 이후 코드 건너뛰기
print(f"홀수: {i}") # 홀수 출력
코드 설명
- 초기화: i는 0으로 시작하며 반복문이 실행될 때마다 i += 1로 값을 증가시킵니다.
- 조건 검사: i % 2 == 0 조건을 확인하여 짝수인 경우 continue를 실행합니다. 이때, continue로 인해 하단의 print 명령어는 실행되지 않고 반복문의 처음으로 돌아갑니다.
- 홀수 출력: 조건을 통과한 값만 출력됩니다.
continue 사용 시 주의점
- 증감 위치: i += 1 증감식은 반복문 초반에 작성해야 합니다. 그렇지 않으면 continue 실행 시 반복 변수의 값이 변경되지 않아 무한 루프에 빠질 수 있습니다.
- 조건의 정확성: continue 조건이 불분명하면 의도치 않은 오류가 발생할 수 있기 때문에 적절한 조건에서 사용해야 합니다.
무한 반복문을 활용한 메뉴 화면
무한 반복문은 가급적 사용하지 않는 것이 좋지만, 종료되지 않는 프로그램의 흐름을 구현하기 위해 사용하기도 합니다. 지금 시대에 텍스트로 메뉴 화면을 만드는 일은 잘 없지만, 무한 반복문을 활용한 메뉴 화면을 만들어보겠습니다.
예제 코드
while True: # 무한 반복
print("메뉴:")
print("1. 프로그램 A 실행")
print("2. 프로그램 B 실행")
print("3. 종료")
choice = input("메뉴를 선택하세요: ")
if choice == "1":
print("프로그램 A 실행 중...")
# 프로그램 A 관련 코드 작성
elif choice == "2":
print("프로그램 B 실행 중...")
# 프로그램 B 관련 코드 작성
elif choice == "3":
print("프로그램을 종료합니다.")
break # 반복문 종료
else:
print("잘못된 입력입니다. 다시 선택해주세요.")
코드 설명
- 무한 반복 설정: while True를 사용하여 조건이 항상 참인 상태를 만듭니다. 그러면 무한 반복이 되기 때문에 해당 반복문은 break를 만나기 전까지 종료되지 않습니다.
- 메뉴 출력: 메뉴는 매번 반복문이 시작될 때 출력됩니다.
- 사용자 입력 처리: input() 함수로 사용자 입력을 받고 choice 변수에 저장합니다.
- 분기 처리: 입력 값에 따라 프로그램A 또는 프로그램B를 실행합니다. 또는 프로그램 종료를 선택할 수도 있습니다.
- 종료 조건: 사용자가 3을 입력하면 break 명령어로 반복문을 종료합니다.
- 유효성 검사: 잘못된 입력이 들어오면 경고 메시지를 출력하고 메뉴를 다시 보여줍니다.
실행 결과
사용자가 각각 다른 입력을 했을 때 시나리오를 살펴보겠습니다.
입력값이 1일 때
메뉴:
1. 프로그램 A 실행
2. 프로그램 B 실행
3. 종료
메뉴를 선택하세요: 1
프로그램 A 실행 중...
입력값이 3일 때
메뉴:
1. 프로그램 A 실행
2. 프로그램 B 실행
3. 종료
메뉴를 선택하세요: 3
프로그램을 종료합니다.
잘못된 입력값일 때
메뉴:
1. 프로그램 A 실행
2. 프로그램 B 실행
3. 종료
메뉴를 선택하세요: 5
잘못된 입력입니다. 다시 선택해주세요.
마치며
continue 명령어를 활용하면 반복문에서 특정 조건에 실행하지 않아도 될 명령어를 생략하여 효율적인 명령어 흐름을 만들 수 있습니다. 또한 while문을 활용한 무한 반복 처리로 항상 실행되어야 하는 인터페이스를 구현할 수 있습니다.
0 댓글