더북(TheBook)

입장료와 같은 금액을 넣어도 돈을 거슬러 준다고 출력됩니다. 왜 이런 결과가 나왔는지 코드를 살펴봅시다. if-else 조건문에서 if 조건을 충족하지 않으면 모두 else가 됩니다. 따라서 이 코드에서 투입금액과 입장료가 같을 때, 즉 price_inputprice가 같은 값일 때는 price_input < price 조건을 충족하지 않으므로 else로 넘어가게 됩니다.

이 부분을 고쳐 봅시다. 조건을 바꿔 price_input <= price 또는 price_input > price로 수정하면 될까요? 이렇게 바꿔도 문제는 해결되지 않습니다. 결과가 궁금하다면 직접 코드를 수정하고 확인해 보세요. 바로 다음 절에서 이 문제를 해결해 보겠습니다.

1분 퀴즈

2 다음 코드를 해석한 것으로 옳지 않은 것을 고르세요.

a = int(input('숫자 입력: '))
if a < 0:
    a = -a
else:
    a *= 5
print(a)

a는 정수를 저장하는 변수다.

② 음수가 입력되면 a < 0 조건을 충족하므로 결과는 양수로 바뀐다.

③ 양수가 입력되면 a에 5를 곱한 값이 출력된다.

④ 0이 입력되면 오류가 발생한다.

⑤ 마지막 줄의 print(a)는 항상 실행된다.

정답 및 해설

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