지난 시간에는 파이썬에서 사용하는 기본적인 텍스트 입력 방법인 input() 함수에 대해 알아보았습니다. 오늘은 while 루프를 이용해 연속적으로 입력받는 법을 배워보도록 하겠습니다.
파이썬을 포함한 대부분의 프로그래밍 언어에서는 크게 for 루프와 while 루프로 반복문을 처리합니다. for 루프는 지정된 반복 횟수로 로직을 처리하지만, while 루프는 지정되지 않은 횟수(심지어 무한)로도 연속적인 처리가 가능합니다. 특히 프로그래밍이 한 번으로 끝나지 않는 게임이나, 사용자 입력을 계속 대기해야 하는 경우에 주로 사용합니다.
number = 0
while number < 10:
number += 1
print(number)
사용법은 생각보다 간단합니다. while 키워드에 조건문을 넣어 그것이 참(true)이면 계속 반복 동작을 수행합니다. 위에 있는 코드는 1부터 10까지의 숫자를 출력하는 예제입니다. 하지만 보통 이런 처리는 for 루프도 가능하고 while 루프는 어떤 액션(입력)이 있을 때까지 계속 반복문을 실행하고자 할 때 사용합니다. 그럼 다시 렛 코딩 ㄱㄱ~!
prompt = "\n 당신의 말을 따라하겠다능!"
prompt += "\n 싫으면 '그만'을 외쳐라 : "
active = True
while active:
message = input(prompt)
if message == '그만':
active = False
else:
print("\n 따라쟁이 : " + message)
지난 시간에 했던 입력 프롬프트 처리를 while 루프를 사용해 프로그래밍했습니다. 여기서 중요한 포인트는 두 가지로, active 변수와 message를 조건문으로 판단하는 부분입니다. message 입력에 '그만'이라는 텍스트가 들어오기 전까지 계속해서 입력을 받습니다. active 변수는 플래그(flag) 변수라고도 하는데, 깃발을 올리고 내리듯이 참과 거짓으로 무언가를 판단할 때 주로 사용합니다. 그럼 마지막으로 반복문에서 사용하는 break, continue 키워드를 알아보겠습니다!
prompt = "\n 당신의 말을 따라하겠다능!"
prompt += "\n 싫으면 '그만'을 외쳐라 : "
while True:
message = input(prompt)
if message == '그만':
print("돔황챠!!!")
break
else:
print("\n 따라쟁이 : " + message)
위쪽에서 했던 코드와 크게 다르지 않습니다. 달라진 점은 플래그 변수인 active 변수를 빼고 while 루프 조건식에 True를 넣어 계속 실행되도록 하였습니다. '그만' 텍스트가 들어오면 플래그를 올리는 것이 아니라 break 키워드로 루프에서 빠져나옵니다. 이처럼 break 키워드는 단어 뜻 그대로 반복문(루프)에서 브레이크를 거는 처리입니다. 학폭 멈쳐!
number = 0
while number < 10:
number += 1
if number % 2 != 0:
continue
print(number)
오늘 맨 처음에 했던 코드에서 약간 변경했습니다. 1부터 10까지의 숫자 중에 홀수는 넘기고(continue) 짝수만 출력하는 예제입니다. 홀짝을 구별하는 법은 지난 시간에 했던 나머지 연산자(%)를 이용했고 continue 키워드를 이용해 스킵을 했습니다. 이러듯 break, continue 키워드를 이용하면 반복문 루프 안에서 다양한 처리가 가능합니다.
단, 무한루프에 빠지면 무한도전!
돔황챠
댓글