18을 입력하면 제대로 결과가 나오지만, 22를 입력하면 음수가 출력됩니다. 프로그램을 재실행해 30을 입력해도 마찬가지입니다. if 문 아래에서 들여쓰기가 되면 조건문에 속하지만, 들여쓰기를 하지 않으면 조건문 소속이 아니어서 조건 충족 여부와 상관없이 실행됩니다. 그래서 20 미만인 숫자를 입력해도, 20 이상인 숫자를 입력해도 마지막 줄은 항상 실행됩니다.
그럼 나이와 상관없이 항상 ‘감사합니다. 안녕히 가세요.’를 출력해 볼까요?
age = int(input('나이가 어떻게 되세요? '))
if age < 20:
print('미성년자는 주류를 구매할 수 없습니다.')
print(20 - age, '년 후에 성인이 되면 오세요!')
print('감사합니다. 안녕히 가세요.')
마지막 줄에 들여쓰기를 하지 않고 출력 명령어를 넣어 주면 됩니다. 20 미만인 수와 20 이상인 수를 각각 입력해 보고 원하는 대로 결과가 나오는지 확인해 보세요!
실행결과
16을 입력했을 때
나이가 어떻게 되세요? 16
미성년자는 주류를 구매할 수 없습니다.
4년 후에 성인이 되면 오세요!
감사합니다. 안녕히 가세요.
40을 입력했을 때
나이가 어떻게 되세요? 40
감사합니다. 안녕히 가세요.