while 문에 대해서

박준영·2021년 5월 5일

반복해서 문장을 수행해야 할 경우에 while문을 사용한다. 그래서 while문을 반복문으로 부른다.

while문의 기본구조

	<수행할 문장1>
   <수행할 문장2>
   ...

공부를하며 배운 부분을 참고한 예시입니다.
ex)

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

이 예시의 while문의 조건문은 'treeHit < 10' 입니다. 즉 treeHit가 10보다 작은 동안 문장을 계속 반복수행하고, 'treeHit = treeHit + 1' 이 부분을 보면 값이 1씩 계속 증가합니다. 그 후 treeHit가 10이 되면 나무 넘어갑니다라는 문장을 출력하면 10이 넘어가기 때문에 while문을 빠져가가게 됩니다.

while문 강제로 빠져나가기 break에 관해서 추가로 배운 예시가 좋아서 올려놓겠습니다.

# coffee.py

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

개인적으로 풀이를 해보면
커피는 10번 뽑을 수 있고, 돈을 넣어 주세요 가 나오며 300원을 넣어준다면, 커피를 줍니다가 프린트 된후 coffee = coffee -1 를 통해 커피 10번중에 -1이 카운트 됩니다.
300원 이상으로 돈을 넣는다면 거스름돈 %d를 주고 거스름돈은 money -300을 통해 주며, 커피 카운트가 -1이 됩니다.
그 밖에는 돈을 다시 돌려주고 커피를 주지 않고 남은 커피의 양을 보여줍니다.
만약 커피의 수가 0일 시에는 커피가 다 떨어져서 판매를 중지 한다는 글을 보여주며 break가 되어 판매를 중단합니다.

마지막으로 무한루프의 기본형태는

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

0개의 댓글