더북(TheBook)

이제 메인 프로그램을 볼까요? sc1sc2를 각각 정답과 오답 횟수를 저장할 변수로 설정하고, for 반복 명령을 사용하여 사용자에게 문제를 총 다섯 번 냅니다. q = make_question() 문장으로 문제를 만드는 함수를 호출하여 print 함수로 출력한 후, 사용자에게 답을 입력받습니다.

사용자가 입력한 답이 정답인지 오답인지 체크하기 위해 eval 함수를 사용합니다. eval 함수에 문자열로 된 문제 q를 인자로 전달하면 이 문제를 풀어서 결괏값으로 돌려줍니다. 그리고 int 함수를 사용하여 이 결괏값과 사용자가 입력한 문자열을 숫자로 바꾼 값을 비교하면 정답 여부를 확인할 수 있습니다. 조금 어렵지요? 다시 말해서 컴퓨터가 계산한 결과와 사용자가 입력한 답을 비교하기 위해 둘 다 숫자로 바꾸는 과정이라고 이해하면 됩니다.

비교 결과에 따라 정답과 오답을 알리고 정답과 오답 횟수를 기록합니다. 이 과정을 다섯 번 반복하면 문제를 총 다섯 개 내고 답도 다섯 번 확인하게 됩니다. 그런 다음 반복 블록을 빠져나와 최종 점수를 출력하고 프로그램을 종료합니다. 이때 오답이 하나도 없다면(if sc2 == 0:), ‘당신은 천재입니다!’가 출력됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.