while문은 조건문이 참인 동안에 while 문 아래 문장이 반복해서 수행된다.
예시
>>treeHit = 0 >>while treeHit < 10: treeHit = treeHit +1 print("나무를 %d번 찍었습니다." % treeHit) if treeHit == 10: print("나무 넘어갑니다.")
예시 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
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문을 빠져나갈 수 있습니다.")