반응형
▶ while문의 기본 구조
반복해서 문장을 수행해야 할 경우 while문을 사용한다. 그래서 while문을 반복문이라고도 부른다.
<while문의 기본 구조>
while 조건문:
수행할 문장1
수행할 문장2
수행할 문장3
...
>>> treeHit = 0
>>> while treeHit < 10:
... treeHit = treeHit + 1
... print("나무를 %d번 찍었습니다." % treeHit)
... if treeHit == 10:
... print("나무 넘어갑니다.")
...
나무를 1번 찍었습니다.
나무를 2번 찍었습니다.
나무를 3번 찍었습니다.
나무를 4번 찍었습니다.
나무를 5번 찍었습니다.
나무를 6번 찍었습니다.
나무를 7번 찍었습니다.
나무를 8번 찍었습니다.
나무를 9번 찍었습니다.
나무를 10번 찍었습니다.
나무 넘어갑니다.
<while문이 반복되는 과정>
treeHit |
조건문 |
조건 판단 |
수행하는 문장 |
while문 |
0 |
0 < 10 |
참 |
나무를 1번 찍었습니다. |
반복 |
1 |
1 < 10 |
참 |
나무를 2번 찍었습니다. |
반복 |
2 |
2 < 10 |
참 |
나무를 3번 찍었습니다. |
반복 |
3 |
3 < 10 |
참 |
나무를 4번 찍었습니다. |
반복 |
4 |
4 < 10 |
참 |
나무를 5번 찍었습니다. |
반복 |
5 |
5 < 10 |
참 |
나무를 6번 찍었습니다. |
반복 |
6 |
6 < 10 |
참 |
나무를 7번 찍었습니다. |
반복 |
7 |
7 < 10 |
참 |
나무를 8번 찍었습니다. |
반복 |
8 |
8 < 10 |
참 |
나무를 9번 찍었습니다. |
반복 |
9 |
9 < 10 |
참 |
나무를 10번 찍었습니다. 나무 넘어갑니다. |
반복 |
10 |
10 < 10 |
거짓 |
|
종료 |
▶ while문 만들기
1.
>>> prompt = """
... 1. Add
... 2. Del
... 3. List
... 4. Quit
...
... Enter number: """
2.
>>> number = 0
>>> while number != 4:
... print(prompt)
... number = int(input())
...
1. Add
2. Del
3. List
4. Quit
Enter number:
3.
Enter number:
1
1. Add
2. Del
3. List
4. Quit
4.
Enter number:
4
>>>
▶ while문 강제로 빠져나가기
break문을 사용하면 강제로 빠져나올 수 있다.
>>> coffee = 10
>>> money = 300
>>> while money:
... print("돈을 받았으니 커피를 줍니다.")
... coffee = coffee - 1
... print("남은 커피의 양은 %d개입니다." % coffee)
... if coffee == 0:
... print("커피가 다 떨어졌습니다. 판매를 중지합니다.")
... break
...
# coffee.py
coffee = 10
while True:
money = int(input("돈을 넣어 주세요: "))
if money == 300:
print("커피를 줍니다.")
coffee = coffee - 1
elif money > 300:
print("거스름돈 %d를 주고 커피를 줍니다." % (money -300))
coffee = coffee - 1
else:
print("돈을 다시 돌려주고 커피를 주지 않습니다.")
print("남은 커피의 양은 %d개입니다." % coffee)
if coffee == 0:
print("커피가 다 떨어졌습니다. 판매를 중지합니다.")
break
▶ while문의 맨 처음으로 돌아가기
continue문을 사용하면 가능하다.
>>> a = 0
>>> while a < 10:
... a = a + 1
... if a % 2 == 0: continue
... print(a)
...
1
3
5
7
9
▶ 무한 루프
우리가 사용하는 일반 프로그램 중에서 무한 루프 개념을 사용하지 않는 프로그램은 거의 없다. 파이썬에서 무한 루프는 while문으로 구현할 수 있다.
<무한 루프의 기본 구조>
while True:
수행할 문장1
수행할 문장2
...
위 코드는 무한 루프의 기본 형태이다.
while문의 조건문이 True이므로 항상 참이 된다. 따라서 while문 안에 있는 문장들은 무한하게 수행된다.
<무한루프 예>
>>> while True:
... print("Ctrl+C를 눌러야 while문을 빠져나갈 수 있습니다.")
...
Ctrl+C를 눌러야 while문을 빠져나갈 수 있습니다.
Ctrl+C를 눌러야 while문을 빠져나갈 수 있습니다.
Ctrl+C를 눌러야 while문을 빠져나갈 수 있습니다.
...
반응형
'Python' 카테고리의 다른 글
[Python] 연습문제 3 (0) | 2021.03.18 |
---|---|
[Python] for문 (0) | 2021.03.18 |
[Python] if문 (0) | 2021.02.11 |
[Python] 연습문제 2 (0) | 2021.02.11 |
[Python] 변수 (0) | 2021.02.10 |
댓글