더북(TheBook)

오답을 입력하면 반복문을 종료하므로 조건문 내부에 출력 명령어와 break를 넣으면 됩니다. 오답일 때 프로그램이 종료되니 이제야 진짜 게임 같네요. 정답과 오답을 골고루 입력해서 프로그램이 잘 완성됐는지 확인해 보세요!

while 문에서도 break를 사용할 수 있습니다. 그런데 while 문의 구조를 잘 활용하면 break를 사용하지 않고도 반복을 멈출 수 있습니다. break 조건을 while 문의 조건으로 표현하면 됩니다. while 문은 ‘조건을 충족할 때만 반복을 진행’합니다. 구구단 프로그램은 ‘반복문 안에서 입력된 숫자가 정답이 아닐 때 반복을 중지’했습니다. 이를 while 문으로 바꾸면 ‘입력된 숫자가 정답일 때만 구구단 반복문을 진행’한다고 할 수 있죠. 그럼 앞의 구구단 프로그램을 while 문으로 바꿔 봅시다.

import random
print('구구단을 외자! 구구단을 외자!')
answer, a, b = 0, 0, 0
while answer == a * b:
    a, b = random.randint(2, 9), random.randint(1, 9)
    answer = input(str(a) + 'x' + str(b) + '? ')
    answer = int(answer)
print('땡! 정답은', a * b)
실행결과
구구단을 외자! 구구단을 외자! 
7x5? 35 
8x4? 32 
6x3? 18 
8x1? 6
땡! 정답은 8
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.