##Control Statement : Iteration Statement(While, For) 반복문
- 파이썬에서는 while, for 2가지의 statement를 제공한다.
## While statement
- while문은 조건을 만족할 때 까지 반복한다.
- while(조건):
<statement1>
<statement2>
<statement3>
- 조건이 만족하는 동안(while) statement 1,2,3을 반복한다.
구구단을 통해 연습해봅시다!
# 2단을 while문으로 구현해봅시다.
# while 반복을 멈추는 조건:
number=1
while number < 10:
print("2 x %d = %d" %(number, 2*number)) #number가 1부터 9까지 반복
number=number+1 #number =+ 1
# 2 x 1 = 2
# 2 x 2 = 4
# 2 x 3 = 6
# ...
# 2 x 9 = 18
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
2 x 6 = 12
2 x 7 = 14
2 x 8 = 16
2 x 9 = 18
실제 자판기 기계는 돈을 한번 넣고 종료되지 않는다. 자판기 기계(프로그램)이 종료되는 경우는 커피가 다 떨어졌을 때이다.
Q. 커피가 다 질때까지 자판기 프로그램을 반복하면서 실행한 뒤, 돈을 입력받아서 커피를 주는 프로그램을 작성해보자.
# 자판기의 커피 수량
coffee = 5
# 커피가 남아있는 동안 작동!
while coffee > 0:
# 실제로는 자판기를 통해서 넣은 금액.
money = int(input("금액을 입력해주세요 : "))
if money == 300:
# 실제로 이 파트는 자판기에서 커피를 뽑는 명령으로 대체된다.
print("coffee")
# 이제 커피를 하나씩 줄인다.
coffee=coffee-1 #coffee-=1
elif money < 300:
# 실제로 이 파트는 돈을 반환한다.
print("%d원을 돌려줍니다." % (money))
else: # or elif money > 300:
# 커피를 뽑아주고
print("coffee")
# 이제 커피를 하나씩 줄인다.
coffee=coffee-1
# 거스름돈을 돌려준다.
print("%d원을 돌려줍니다." %(money-300))
# 커피가 다 떨어진 경우 알려야한다.
print("커피가 모두 소진되었으니, 관리자에게 문의해주세요.") #while 종료된 후 작동
금액을 입력해주세요 : 500
coffee
200원을 돌려줍니다.
금액을 입력해주세요 : 300
coffee
금액을 입력해주세요 : 200
200원을 돌려줍니다.
금액을 입력해주세요 : 1000
coffee
700원을 돌려줍니다.
금액을 입력해주세요 : 150
150원을 돌려줍니다.
금액을 입력해주세요 : 300
coffee
금액을 입력해주세요 : 500
coffee
200원을 돌려줍니다.
커피가 모두 소진되었으니, 관리자에게 문의해주세요.
RE : 실제 자판기 기계는 돈을 한번 넣고 종료되지 않는다. 자판기 기계(프로그램)이 종료되는 경우는 커피가 다 떨어졌을 때이다.
Q. 커피가 다 떨어질 때 까지 자판기 프로그램을 반복하면서 실행한 뒤, 돈을 입력받아서 커피를 주는 프로그램을 작성해보자.
# 자판기의 커피 수량
coffee = 5
# 일단 작동! #infinite loop #무한루프
while True:
# 실제로는 자판기를 통해서 넣은 금액.
money = int(input("금액을 입력하세요."))
if money == -1 :
print("운영을 종료합니다")
break
if money == 300:
# 실제로 이 파트는 자판기에서 커피를 뽑는 명령으로 대체된다.
print("Coffee")
# 이제 커피를 하나씩 줄인다.
coffee = coffee - 1
elif money < 300:
# 실제로 이 파트는 돈을 반환한다.
print("%d원을 반환합니다." % money)
else: # or elif money > 300:
print("Coffee")
# 커피를 뽑아주고
coffee = coffee - 1
# 이제 커피를 하나씩 줄인다.
print("%d원을 반환합니다." % (money-300))
# 거스름돈을 돌려준다.
if coffee == 0 :
print("운영을 종료합니다")
break
# 커피가 다 떨어진 경우 알려야한다.
print("커피가 모두 소진되었으니, 관리자에게 문의해주세요.")
금액을 입력하세요.-1
운영을 종료합니다
커피가 모두 소진되었으니, 관리자에게 문의해주세요.
RE : 실제 자판기 기계는 돈을 한번 넣고 종료되지 않는다. 자판기 기계(프로그램)이 종료되는 경우는 커피가 다 떨어졌을 때이다.
Q. 커피가 다 떨어질 때 까지 자판기 프로그램을 반복하면서 실행한 뒤, 돈을 입력받아서 커피를 주는 프로그램을 작성해보자.
이번에는 돈이 모자랄 때는, 추가로 돈을 입력받아 300원을 넘는 경우에 커피를 뽑아주는 프로그램을 작성해보자.
# 자판기의 커피 수량
coffee = 5
# 거스름돈 보관
extra_money = 0
# 일단 작동!
while coffee > 0 :
# 실제로는 자판기를 통해서 넣은 금액.
money = int(input("금액을 입력해주세요 : "))
# 매번 저장된 돈과 들어올 돈을 합산하여 생각합니다.
money = money + extra_money
if money == 300:
# 실제로 이 파트는 자판기에서 커피를 뽑는 명령으로 대체된다.
print("Coffee")
# 이제 커피를 하나씩 줄인다.
coffee = coffee - 1
elif money < 300:
# 돈을 더 받자.
print("돈이 모자랍니다. 추가로 금액을 입력해주세요.")
extra_money = money #money=extra_money (X)
continue #정산에서 코드를 정리해줘야함
else: # or elif money > 300:
print("Coffee")
# 커피를 뽑아주고
coffee = coffee - 1
# 이제 커피를 하나씩 줄인다.
print("%d원을 반환합니다." % (money-300))
# 거스름돈을 돌려준다.
# 정산
extra_money = 0
# 커피가 다 떨어진 경우 알려야한다.
print("커피가 모두 소진되었으니, 관리자에게 문의해주세요.")
금액을 입력해주세요 : 300
Coffee
금액을 입력해주세요 : 500
Coffee
200원을 반환합니다.
금액을 입력해주세요 : 200
돈이 모자랍니다. 추가로 금액을 입력해주세요.
금액을 입력해주세요 : 200
Coffee
100원을 반환합니다.
금액을 입력해주세요 : 300
Coffee
금액을 입력해주세요 : 100
돈이 모자랍니다. 추가로 금액을 입력해주세요.
금액을 입력해주세요 : 250
Coffee
50원을 반환합니다.
커피가 모두 소진되었으니, 관리자에게 문의해주세요.
'취미생활, 공부 > 빅데이터' 카테고리의 다른 글
Python_Iteration Statement(for) (0) | 2022.02.06 |
---|---|
Python_Conditional Statement(IF) (0) | 2022.02.06 |
Python_Programming Practice (Data Type) (0) | 2022.02.06 |