반응형
Notice
Recent Posts
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Today
Total
관리 메뉴

오식랜드

[python] 반복문 while문 본문

dev-log/python

[python] 반복문 while문

개발하는 오식이 2023. 1. 4. 21:06
반응형

while 또한 for문과 같은 반복문입니다.

차이점은, for문은 리스트와 같은 반복 대상에서 값을 하나씩 꺼내서 반복작업을 수행하는 것 이소,

while문은 조건이 만족하는동안 끝없이 반복합니다.

문법

while 조건:
    실행 명령문1
    실행 명령문2
    실행 명령문3
    ....

예를 들어, 한 카페에서 커피가 나왔을 때, 한 손님을 5번만 부르도록 설계되어있다고 한다면, 이렇게 코드를 작성할 수 있다

customer = "홍길동" # 손님
index = 5 # 부르는 횟수, 총 5회

while index >= 1: # 부르는 횟수가 1 이상인 경우에만 반복 실행
    print("{0}님, 커피가 준비 되었습니다. {1} 번 남았어요.".format(customer, index))    
    index -= 1 # 부르는 횟수 감소
    if index == 0: # 5번 모두 불렀다면
        print("커피는 폐기처분되었습니다.")

코드를 살펴보면 while 의 조건으로 입력된 index >= 1 조건이 참(True) 인 동안, 즉 조건이 만족되는 동안은 계속 반복하여 while 문 내에 정의된 명령문을 실행합니다.

그 과정에서 index -= 1 을 통해서 횟수가 감소하다가 만약 index 가 0 이 되면 폐기처분되었다는 문장을 출력하게 되고,

while 의 조건인 index >= 1 은 더 이상 만족하지 않으므로, 즉 거짓(False) 이므로 while 문을 벗어나게 됩니다.

(일반적으로 while 문을 "탈출"한다고 표현합니다)

또 다른 카페에서는 폐기 정책이 없다고 합니다.

즉, 손님이 나타날 때까지 계속 부르면서 기다려야 하겠지요.

customer = "아이언맨"
index = 1
while True:
    print("{0}님, 커피가 준비 되었습니다. 호출 {1} 회".format(customer, index))
    index += 1

이번에는 조건 부분에 참을 의미하는 True 가 들어갔습니다.

그리고 코드 내에 while 문을 탈출하는 구문이 없으므로 이 while 문은 끝없이 계속 반복 수행되며, 이 때 무한루프(Infinite loop)에 빠졌다고 표현합니다.

무한 루프에 빠진 프로그램을 강제 종료하기 위해서는 키보드로 Ctrl + c 를 누르시면 됩니다.

또 다른 카페에서는 손님을 부른 후 input() 을 통해 사용자로부터 이름을 입력 받고 커피를 주문하신 손님과 일치하는지 확인을 하는 과정을 거친다고 가정하겠습니다.

다음과 같이 코드를 작성하고 실행해보면 "토르" 라는 이름의 손님이 나타날 때까지 계속 반복하여 실행됩니다.

customer = "토르"
person = "Unknown"

while person != customer:
    print("{0}님, 커피가 준비 되었습니다.".format(customer))
    person = input("이름이 어떻게 되세요? ")

 

 

출처 : https://nadocoding.tistory.com/

반응형

'dev-log > python' 카테고리의 다른 글

[python] 입출력  (0) 2023.01.09
[python] 함수  (0) 2023.01.09
[python] 반복문 for문  (0) 2023.01.04
[python] 조건문  (0) 2023.01.04
[python] list와 set 데이터타입 변경  (0) 2023.01.04
Comments