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 not coffee:
. . . print("커피 이제 없음. 판매끝")
. . . break
프로그래밍된 결과물에 하나씩 써보자
돈을 여기에 넣으시오: 500
커피 여기있다. 거스름돈 200 을 주마.
돈을 여기에 넣으시오: 300
커피를 주마
돈을 여기에 넣으시오: 100
돈을 다시돌려주고 커피를 안줌
남은 커피의 갯수는 8개 임.
돈을 여기에 넣으시오:
★money = int(input("돈을 여기에 넣으시오: ")) 이 문장은 사용자로부터 입력을 받는 부분이고 입력받은 숫자를 money라는 변수에 대입하는 것이라고 알아두자.
★맨밑에 break 를 안쓰면 커피의개수는 -1 · · · -2 · · · -3 같이 마이너스로 떨어짐.
조건에 맞지 않는 경우 맨 처음으로 돌아가기
프로그래밍을 하다보면 조건에 맞지 않으면 while 문을 빠져나가게 됨.
while문을 빠져나가지 않고 while문의 맨 처음(조건문)으로 다시돌아가려면?
continue문을 쓰면 된다.
예를 들어 1부터 10까지의 숫자 중에서 홀수만 출력하는 것을
while문을 이용해서 작성한다고 한다면?
>>>a = 0
>>>while a < 10
. . . a = a+1
. . . if a % 2 == 0: continue ←a를 2로 나누었을 때 나머지가 0이면 맨 첨으로
. . . print(a)
. . .
1
3
5
7
9
a가 10보다 작은동안 a는 1만큼씩 계속 증가함.
if a % 2 == 0 이 참이 되는 경우는 a가 짝수일 때
즉, a가 짝수이면 continue 문장을 수행.
따라서 a가 짝수이면 print(a)가 수행되지 않아서 홀수만 출력
'파이썬 복습' 카테고리의 다른 글
3/29 연습문제 (0) | 2018.03.29 |
---|---|
3/27 for문 (0) | 2018.03.27 |
3/26 While문(1/2) (0) | 2018.03.26 |
3/24 if 문 (2/2) (0) | 2018.03.24 |
3/ 23 if 문 (1/2) (0) | 2018.03.23 |