이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
프로그래밍을 배우기 시작할 때, 우리는 컴퓨터에게 '결정'을 내리도록 지시해야 할 때가 많습니다. 이러한 결정은 데이터에 따라 다른 작업을 수행하게 하기 위해 필요한데, 파이썬에서는 이를 위해 if
, elif
, else
와 같은 조건문을 사용합니다. 오늘은 이러한 조건문을 활용하여 사용자로부터 온도를 입력받고, 그 온도에 따라 날씨 상태를 알려주는 간단한 프로그램을 만들어보겠습니다.
조건문의 기초
먼저, 조건문이란 무엇일까요? 조건문은 주어진 조건이 참(True)인지 거짓(False)인지에 따라 코드의 실행 흐름을 변경할 수 있도록 합니다. 파이썬에서는 다음과 같은 구조를 사용합니다:
if
조건문: 조건이 참일 경우 실행됩니다.elif
조건문: 이전 조건문이 거짓일 경우, 새로운 조건을 제시합니다.else
조건문: 모든 조건이 거짓일 경우 실행됩니다.
날씨 프로그램 예제
# 사용자로부터 온도를 입력 받습니다.
temperature = int(input("현재 온도를 입력하세요: "))
# 조건문을 사용하여 온도에 따른 날씨 상태를 결정합니다.
if temperature < 0:
weather = "매우 추움"
elif 0 <= temperature < 10:
weather = "추움"
elif 10 <= temperature < 20:
weather = "선선함"
elif 20 <= temperature < 30:
weather = "따뜻함"
else:
weather = "더움"
# 결정된 날씨 상태를 출력합니다.
print(f"현재 온도는 {temperature}도이며, 날씨는 {weather}입니다.")
코드 분석
- 사용자 입력 처리: 먼저,
input
함수를 사용하여 사용자로부터 현재 온도를 입력 받습니다. 입력받은 값은 문자열이므로,int
함수를 사용하여 정수형으로 변환합니다. - 조건문 실행: 다음으로,
if
,elif
,else
조건문을 사용하여 입력받은 온도에 따라 해당하는 날씨 상태를 변수weather
에 할당합니다. - 결과 출력: 마지막으로,
print
함수와f-string
을 사용하여 온도와 날씨 상태를 함께 출력합니다.
학습 포인트
이 예제를 통해 여러분은 조건문의 기본적인 사용 방법을 배울 수 있습니다. 조건문은 프로그램 내에서 중요한 결정을 내리는 데 사용되며, 복잡한 문제를 해결하는 데 있어 기초적이면서도 필수적인 도구입니다. 이제 여러분도 이를 활용하여 자신만의 조건에 따라 다양한 작업을 수행하는 프로그램을 만들어 볼 수 있습니다.
이 간단한 날씨 프로그램 예제를 시작으로, 조건문을 활용한 더 복잡한 프로그램을 만드는 방법에 도전해 보세요. 프로그래밍 실력을 한 단계 끌어올릴 수 있을 것입니다!
응용문제: 확장된 날씨 프로그램 만들기
이제 여러분은 기본적인 날씨 프로그램을 만들어보았습니다. 다음 단계로, 이 프로그램을 확장하여 더 다양한 기능을 제공하는 응용 프로그램을 만들어 봅시다. 이번에는 온도뿐만 아니라 습도 정보도 받아서 날씨 상태를 더 세분화해 알려주는 프로그램을 만들어보겠습니다.
응용문제 요구사항
- 사용자로부터 온도와 습도를 입력받습니다.
- 온도와 습도에 따라 날씨 상태를 다음과 같이 분류합니다:
- 온도가 30도 이상이면 "더움"
- 온도가 20도 이상 30도 미만이고, 습도가 50% 미만이면 "건조함"
- 온도가 20도 이상 30도 미만이고, 습도가 50% 이상이면 "습함"
- 온도가 10도 이상 20도 미만이면 "선선함"
- 온도가 10도 미만이면 "추움"
- 결정된 날씨 상태를 출력합니다.
정답 예제 코드
# 사용자로부터 온도와 습도를 입력 받습니다.
temperature = int(input("현재 온도를 입력하세요: "))
humidity = int(input("현재 습도를 입력하세요(%): "))
# 조건문을 사용하여 온도와 습도에 따른 날씨 상태를 결정합니다.
if temperature >= 30:
weather = "더움"
elif 20 <= temperature < 30:
if humidity < 50:
weather = "건조함"
else:
weather = "습함"
elif 10 <= temperature < 20:
weather = "선선함"
else:
weather = "추움"
# 결정된 날씨 상태를 출력합니다.
print(f"현재 온도는 {temperature}도, 습도는 {humidity}%이며, 날씨는 {weather}입니다.")
코드 설명
이 코드는 온도와 습도를 모두 고려하여 날씨 상태를 보다 세밀하게 결정합니다. 먼저, 사용자로부터 온도와 습도 값을 입력받습니다. 그리고 if
, elif
조건문을 중첩하여 사용함으로써, 온도와 습도의 조합에 따라 다른 날씨 상태를 할당합니다. 마지막으로, 결정된 날씨 상태를 함께 출력하여 사용자에게 알려줍니다.
응용문제 포인트
이 응용문제는 조건문을 중첩하여 사용하는 방법을 연습할 수 있게 해 줍니다. 중첩 조건문은 보다 복잡한 조건을 판단할 때 유용하며, 실제 프로그래밍에서 자주 사용됩니다. 이 문제를 통해 여러분은 조건문의 활용 범위를 넓히고, 실생활 문제 해결에 한 걸음 더 다가설 수 있을 것입니다.