블로그 이미지
김고노

calendar

1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28

Notice

2018. 3. 26. 16:15 파이썬 복습

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
posted by 김고노