728x90
반응형
반복해서 어떤 함수를 실행 할 때 사용하는 것 중 하나는 while문이다.
그래서 while반복문이라고도 불린다.
아래는 while문의 기본 구조이다.
while 조건문:
do-something1()
do-something2()
do-something3()
.... # 생략표현
do-somethingN()
GPU를 사기 위해 돈을 번다고 할 때 시급 1만원에 따라 벌어야하는 과정을 while문으로 표현하면 아래와 같다.
money = 0
gpu_price = 9.5 * 1e+5 # 95만원
hour_pay = 1e+4 # 1만원
working_hour = 0 # 일한 시간
while money < gpu_price:
working_hour += 1
money += hour_pay
print(working_hour, '시간이 지났습니다.')
if money >= gpu_price:
print('GPU를 살 돈이 모였습니다.')
# 1 시간이 지났습니다.
# 2 시간이 지났습니다.
# 3 시간이 지났습니다.
# ....
# 93 시간이 지났습니다.
# 94 시간이 지났습니다.
# 95 시간이 지났습니다.
# GPU를 살 돈이 모였습니다.
while문은 조건이 충족될 때까지 반복을 하는 것이라서 아래와 같이 강제로 종료시키지 않는 이상 무한히 반복하는 루프를 만드는 것도 가능하다. (이경우 Ctrl+C키를 누르면 끝낼수 있다.)
money = 0
gpu_price = 9.5*1e+5
while True:
money+=10000
print('현재 돈은', money,'입니다.')
특정조건이 충족됐을 때 while문을 종료시키고 싶으면 break를 사용하면 된다.
money = 0
gpu_price = 9.5*1e+5
while True:
money+=10000
print('현재 돈은', money,'입니다.')
if money == gpu_price:
print('돈이 모였습니다.')
break
이외에 어떤 조건에서는 while문이 작동이 안되게 하고 싶을 때가 있다. 이때는 continue를 쓰면된다.
아래와 같이 작성하면 7, 14, 21, 28일이 되면 money가 업데이트가 안된다.
money = 0
gpu_price = 9.5*1e+5
day = 1
while True:
day+=1
print('현재 돈은', money,'입니다.')
if day % 7 == 0:
print('일요일입니다. 돈을 안법니다.')
continue
money+=10000
if money == gpu_price:
print('돈이 모였습니다.')
break
# 현재 돈은 0 입니다.
# 현재 돈은 10000 입니다.
# 현재 돈은 20000 입니다.
# 현재 돈은 30000 입니다.
# 현재 돈은 40000 입니다.
# 현재 돈은 50000 입니다.
# 일요일입니다. 돈을 안법니다.
# 현재 돈은 50000 입니다.
# 현재 돈은 60000 입니다.
# 현재 돈은 70000 입니다.
# 현재 돈은 80000 입니다.
# 현재 돈은 90000 입니다.
# 현재 돈은 100000 입니다.
# 현재 돈은 110000 입니다.
# 일요일입니다. 돈을 안법니다.
728x90
반응형
'파이썬3 > 기초' 카테고리의 다른 글
f-string 사용법 (0) | 2022.06.16 |
---|---|
비교 연산자 (Comparison Operators) (0) | 2022.01.08 |
파이썬 if/else문 (0) | 2022.01.08 |
변수 (variable)와 카피 (copy) (0) | 2021.12.30 |
불 (bool) 자료형 (0) | 2021.12.30 |