조건에 따른 메시지 출력
입력값에 따라 메시지가 달라지는 “조건부 출력” 만들기
콘솔 입출력(5-1)을 해봤다면, 이제 딱 한 단계만 더 가보자.
입력값에 따라 다른 메시지를 출력하는 프로그램을 만들어보면, 조건문이 “진짜로 쓸모” 있다는 게 확 와닿거든.
오늘 만들 것(미리보기)
예를 들어 이런 흐름이 되게 할 거야.
- 사용자가 숫자를 입력한다
- 그 숫자에 따라 메시지가 달라진다
- 0이면 “0입니다”
- 양수면 “양수입니다”
- 음수면 “음수입니다”
음… 이런 거 되게 쉬워 보이는데, 나름 처음엔 자주 실수해.
특히 부등호(> <) 방향을 반대로 쓰거나, 문자열 입력을 숫자로 변환 안 해서 “왜 안 되지?” 하는 그 느낌… 알지? 나도 예전에 엄청 당했어. 😅
5-2. 조건에 따른 메시지 출력: 기본 뼈대
먼저 콘솔 입력을 받는 법은 이미 했지? 그걸 조건문이랑 이어주면 끝이야.
아래는 “정수 판별” 예제야.
num = input("정수를 입력하세요: ")
# 일단, input()은 문자열로 들어온다!
n = int(num)
if n == 0:
print("0입니다.")
elif n > 0:
print("양수입니다.")
else:
print("음수입니다.")
핵심 포인트 몇 개만 짚고 갈게
input()결과는 무조건 문자열이야.- 그래서 숫자로 비교하려면
int()로 바꿔줘야 해. if / elif / else는 순서가 중요해. 위에서부터 조건을 검사하거든.
아! 여기서 “어? 숫자인데 왜 비교가 이상하지?” 싶으면 거의 90% 확률로 int 변환을 빼먹은 경우야.
나도 한 번은 “프로그램이 고장났나?” 하고 계속 뚜드렸는데, 알고 보니 입력이 문자열이라서 비교가 꼬여있었어. 솔직히 말하면 좀 웃겼지… 나만 그런 거 아니지? 😄
입력값에 따라 “등급”도 만들어보기
이번엔 조금 더 실전 느낌으로 가보자.
점수를 입력하면 성적 메시지를 다르게 출력하는 버전이야.
score = int(input("점수를 입력하세요(0~100): "))
if score >= 90:
print("A학점! 잘했네!")
elif score >= 80:
print("B학점! 나쁘지 않아.")
elif score >= 70:
print("C학점! 노력하면 더 올라가겠지.")
elif score >= 60:
print("D학점! 다음엔 반전 가자.")
else:
print("F학점... 그래도 괜찮아. 다시 하면 돼!")
여기서 좋은 점은 뭐냐면, 조건을 위에서부터 큰 기준 → 작은 기준으로 잡아주면 깔끔해져.
왜냐면 score >= 90부터 걸리면 그 뒤 조건은 안 보니까.
“사실은” 예외 처리도 조금은 생각해보기
솔직히 말하면, 위 코드들은 사용자가 숫자 말고 문자를 넣으면 터질 수 있어.
예를 들어 "abc" 입력하면 int("abc")에서 바로 에러가 나지.
그래서 이런 “조금 더 친절한 버전”도 한 번 맛만 보자.
raw = input("점수 입력(숫자만!): ")
try:
score = int(raw)
except ValueError:
print("숫자를 입력해야 해! 예를 들어 85처럼 입력해줘.")
else:
if score >= 90:
print("A학점!")
elif score >= 80:
print("B학점!")
elif score >= 70:
print("C학점!")
elif score >= 60:
print("D학점!")
else:
print("F학점!")
이건… 갑자기 try/except가 등장해서 좀 낯설 수 있는데,
일단 “아, 이런 식으로 에러를 다룰 수도 있구나” 정도만 기억해도 충분해.
(그리고 오류 메시지 읽는 법은 1-5에서 했지? 그 흐름이 여기서 빛을 발해!)
다음으로 자연스럽게 이어가기: 5-3 계산기 만들기
자, 이제 감이 오지?
조건에 따라 메시지를 다르게 출력했잖아.
그럼 다음은 뭐가 나오면 제일 자연스러울까?
바로 입력값(숫자) + 연산 선택(문자/기호) + 결과 출력이야.
즉, 오늘 배운 “조건”이 연산 선택에 딱 붙고, 결과를 출력하는 구조가 연결돼.
그래서 5-3. 간단한 계산기 만들기에서는 이런 걸 해볼 거야:
- 사용자에게 연산을 고르게 입력받기 (
+,-,*,/) - 연산자에 따라 다른 연산 수행하기
- 계산 결과 출력하기(그리고 0으로 나누기 같은 것도 “좀” 처리하기)
음… 계산기 만들면 재미있어질 준비 완료다.
다음 글에서 바로 이어서 가자! 👀





