반응형
1. 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번 찍었습니다.
나무 넘어갑니다.
* 기본예제
"""
여러 가지 선택지 중 하나를 선택해서 입력받는 예제
"""
>>> prompt = """
... 1. Add
... 2. Del
... 3. List
... 4. Quit
...
... Enter number: """
>>>
>>> number = 0
>>> while number != 4:
... print(prompt)
... number = int(input()) "사용자의 숫자 입력을 받아들이는 것"
...
1. Add
2. Del
3. List
4. Quit
Enter number:
"///////////////////////////////////////////////"
Enter number:
1
1. Add
2. Del
3. List
4. Quit
Enter number:
4
>>>
* break문
- while문 강제로 빠져나가기
>>> coffee = 10
>>> money = 300
>>> while money:
... print("돈을 받았으니 커피를 줍니다.")
... coffee = coffee -1
... print("남은 커피의 양은 %d개입니다." % coffee)
... if coffee == 0:
... print("커피가 다 떨어졌습니다. 판매를 중지합니다.")
... break
...
- money가 300으로 고정되어 있으므로 while money: 에서 조건문인 money는 0이 아니기 때문에 항상 참 > 무한루프
- while문의 내용을 한 번 수행할 때마다 coffee = coffee -1에 의해서 coffee의 개수가 1개씩 줄어듦
- 만약 coffee가 0이 되면 if coffee == 0: 문장에서 coffee == 0:이 참이 되므로 다음 문장 출력 break문 호출
>> 하지만 실제 자판기는 위 예처럼 작동하지는 않음
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
"/////////////////////////////////////////////////////////////////////"
돈을 넣어 주세요:
돈을 넣어 주세요: 500
거스름돈 200를 주고 커피를 줍니다.
돈을 넣어 주세요: 300
커피를 줍니다.
돈을 넣어 주세요: 100
돈을 다시 돌려주고 커피를 주지 않습니다.
남은 커피의 양은 8개입니다.
돈을 넣어 주세요:
* continue문
- while문의 맨 처음으로 돌아가기
"""
1부터 10까지의 숫자 중에서 홀수만 출력하는 예
"""
>>> a = 0
>>> while a < 10:
... a = a + 1
... if a % 2 == 0: continue
... print(a)
...
1
3
5
7
9
* True
- 무한 루프
while True:
수행할 문장1
수행할 문장2
...
>>> while True:
... print("Ctrl+C를 눌러야 while문을 빠져나갈 수 있습니다.")
...
Ctrl+C를 눌러야 while문을 빠져나갈 수 있습니다.
Ctrl+C를 눌러야 while문을 빠져나갈 수 있습니다.
Ctrl+C를 눌러야 while문을 빠져나갈 수 있습니다.
....
반응형
'programming > Python' 카테고리의 다른 글
Python 기초, 제어문 연습문제 (0) | 2020.09.15 |
---|---|
Python 기초, 제어문3(for문) (0) | 2020.09.15 |
Python 기초, 제어문1(if문) (0) | 2020.09.15 |
Python 기초, 자료형 연습문제 (0) | 2020.09.14 |
Python 기초, 자료형3(집합 자료형, 불 자료형, 변수) (0) | 2020.08.26 |
댓글