Data/Python

[Python] 파이썬 제어문 - while 반복문, break, continue

재은초 2023. 6. 17. 21:03
반응형

While문이란?

  • While문은 조건문이 참인 동안에 while문 아래에 속하는 문장들이 반복해서 수행한다.
  • break: while문 수행시 입력된 조건에 맞지 않으면 while문을 빠져나간다.
  • continue: while문을 빠져나가지 않고 while문의 맨 처음 조건문으로 다시 돌아간다.
while <조건문>:
    <수행할 문장1>
    <수행할 문장2>
    <수행할 문장3>
    ...
# While문 예시
>>> treeHit = 0
>>> while treeHit < 10:                       # treeHit 10보다 작으면 수행
...     treeHit = treeHit +1                    
...     print("나무를 %d번 찍었습니다." % treeHit) # treeHit +=1도 같은 말
...     if treeHit == 10:
...         print("나무 넘어갑니다.")
나무를 1번 찍었습니다.
나무를 2번 찍었습니다.
나무를 3번 찍었습니다.
나무를 4번 찍었습니다.
나무를 5번 찍었습니다.
나무를 6번 찍었습니다.
나무를 7번 찍었습니다.
나무를 8번 찍었습니다.
나무를 9번 찍었습니다.
나무를 10번 찍었습니다.
나무 넘어갑니다.                                  # treeHit < 10 거짓되면 종료

 

While문 만들기

# while문 예시
>>> prompt = """
... 1. Add
... 2. Del
... 3. List
... 4. Quit
...
... Enter number: """
>>>

>>> number = 0                            # 변수 설정
>>> while number != 4:                    # number가 4가 아니면
...     print(prompt)                     # 계속 prompt를 출력하고 
...     number = int(input())             # 사용자로부터 번호를 입력
...

1. Add
2. Del
3. List
4. Quit 

Enter number:                             # 4 입력시 조건문 거짓으로 종료

 

break: while문 강제로 빠져나가기

>>> coffee = 10

>>> while True:
>>>     money = int(input("돈을 넣어 주세요: "))  # 사용자로부터 입력을 받음
>>>     if money == 300:                      # 만약 money = 300이면 실행
>>>         print("커피를 줍니다.")
>>>         coffee = coffee -1
>>>     elif money > 300:                     # 만약 money > 300이면 실행
>>>         print("거스름돈 %d를 주고 커피를 줍니다." % (money -300))
>>>         coffee = coffee -1                
>>>     else:
>>>         print("돈을 다시 돌려주고 커피를 주지 않습니다.")
>>>         print("남은 커피의 양은 %d개 입니다." % coffee)
>>>     if coffee == 0:                       # 만약 coffe가 0이면 실행
>>>         print("커피가 다 떨어졌습니다. 판매를 중지 합니다.")
>>>         break                             # break 호출되어 while문 종료

 

continue: while문 맨 처음으로 돌아가기

# 1부터 10 숫자 중에서 홀수만 출력
>>> a = 0
>>> while a < 10:                       # a가 10보다 작은 동안 
...     a = a + 1                       # a는 1만큼씩 계속 증가
...     if a % 2 == 0:                  # 조건문 참일 경우 수행
...        continue                     # while문 맨 처음 조건문으로 돌아감
...     print(a)                        
1
3
5
7
9

 

무한 루프(Loop)

  • 무한 루프란 무한히 반복한다는 의미로 프로그램을 강제 종료(ctrl+C)해야만 빠져나갈 수 있다.
# while문으로 구현한 무한 루프의 기본 형태
while True:                  # while문의 조건문이 True이므로 항상 참 
    수행할 문장1                # 따라서 while문 안에 있는 문장들은 무한하게 수행될 것
    수행할 문장2
    ...
    
# 무한 루프 예시
>>> while True:
...     print("Ctrl+C를 눌러야 while문을 빠져나갈 수 있습니다.")
...
Ctrl+C를 눌러야 while문을 빠져나갈 수 있습니다.
Ctrl+C를 눌러야 while문을 빠져나갈 수 있습니다.
Ctrl+C를 눌러야 while문을 빠져나갈 수 있습니다.
....

 

Reference

반응형