조건에 따른 메시지 출력

in #krsuccess9 hours ago

입력값에 따라 메시지가 달라지는 “조건부 출력” 만들기

콘솔 입출력(5-1)을 해봤다면, 이제 딱 한 단계만 더 가보자.
입력값에 따라 다른 메시지를 출력하는 프로그램을 만들어보면, 조건문이 “진짜로 쓸모” 있다는 게 확 와닿거든.

Pexels


오늘 만들 것(미리보기)

예를 들어 이런 흐름이 되게 할 거야.

  • 사용자가 숫자를 입력한다
  • 그 숫자에 따라 메시지가 달라진다
    • 0이면 “0입니다”
    • 양수면 “양수입니다”
    • 음수면 “음수입니다”

음… 이런 거 되게 쉬워 보이는데, 나름 처음엔 자주 실수해.
특히 부등호(> <) 방향을 반대로 쓰거나, 문자열 입력을 숫자로 변환 안 해서 “왜 안 되지?” 하는 그 느낌… 알지? 나도 예전에 엄청 당했어. 😅


5-2. 조건에 따른 메시지 출력: 기본 뼈대

먼저 콘솔 입력을 받는 법은 이미 했지? 그걸 조건문이랑 이어주면 끝이야.

Sunriseforever

아래는 “정수 판별” 예제야.

jwvein

num = input("정수를 입력하세요: ")

# 일단, input()은 문자열로 들어온다!
n = int(num)

if n == 0:
    print("0입니다.")
elif n > 0:
    print("양수입니다.")
else:
    print("음수입니다.")

핵심 포인트 몇 개만 짚고 갈게

  • input() 결과는 무조건 문자열이야.
  • 그래서 숫자로 비교하려면 int()로 바꿔줘야 해.
  • if / elif / else는 순서가 중요해. 위에서부터 조건을 검사하거든.

아! 여기서 “어? 숫자인데 왜 비교가 이상하지?” 싶으면 거의 90% 확률로 int 변환을 빼먹은 경우야.
나도 한 번은 “프로그램이 고장났나?” 하고 계속 뚜드렸는데, 알고 보니 입력이 문자열이라서 비교가 꼬여있었어. 솔직히 말하면 좀 웃겼지… 나만 그런 거 아니지? 😄


입력값에 따라 “등급”도 만들어보기

이번엔 조금 더 실전 느낌으로 가보자.
점수를 입력하면 성적 메시지를 다르게 출력하는 버전이야.

SamuelFJohanns

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")에서 바로 에러가 나지.

Michael_Kastelic

그래서 이런 “조금 더 친절한 버전”도 한 번 맛만 보자.

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으로 나누기 같은 것도 “좀” 처리하기)

음… 계산기 만들면 재미있어질 준비 완료다.
다음 글에서 바로 이어서 가자! 👀