while 문

마친자·2021년 7월 22일
0

파이썬 기초

목록 보기
6/8

While 문의 기본 구조

while문은 조건문이 참인 동안에 while 문 아래 문장이 반복해서 수행된다.

예시

>>treeHit = 0
>>while treeHit < 10:
        treeHit = treeHit +1
        print("나무를 %d번 찍었습니다." % treeHit)
        if treeHit == 10:
          print("나무 넘어갑니다.")

while문 강제로 빠져나가기: break 문

예시 1

coffee =10
money = 300
while money:
    print("돈을 받았으니 커피를 줍니다.")
    coffee = coffee-1
    print("남은 커피의 양은 %d개입니다." % coffee)
    if coffee == 0:
       print("커피가 다 떨어졌습니다. 판매를 중지합니다.")
  • money는 300으로 고정으로 while money: 조건문인 money는 0이 아니므로 항상 참이다.
    반면에 coffee는 한번 진행할 때 마다 1씩 감소하므로 coffee==0이 참이 될 때 "커피가 다 떨어졌습니다. 판매를 중지합니다."가 나오면서 break 문이 호출되어 while 문에서 빠져 나간다

예시 2

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              

while문 맨 처음으로 돌아가기: continue

a=0
while a<10:
    a = a+1
    if a % 2 ==0: continue  #a를 2로 나누었을 때 나머지0이면 맨처음으로 돌아간다
    print(a)

짝수이면 다시 돌아가서 while 맨 처음으로 가기 때문에 출력은 홀수만 나온다

무한루프

기본 형

while True:
  수행할 문장1
  수행할 문장2

while 조건문이 True이므로 항상 참이다

while True:
    print("Ctrl+c를 눌러야 while문을 빠져나갈 수 있습니다.")
profile
마루에 미친자

0개의 댓글