본문 바로가기

파이썬 학습 과정/생활속의 파이썬_응용편

활용 1편: 파이썬 조건문을 활용한 날씨 프로그램 만들기

반응형

확장된 날씨 프로그램과 관련된 단계와 의사 결정 과정을 나타내는 간단한 인포그래픽
확장된 날씨 프로그램과 관련된 단계와 의사 결정 과정을 나타내는 간단한 인포그래픽

프로그래밍을 배우기 시작할 때, 우리는 컴퓨터에게 '결정'을 내리도록 지시해야 할 때가 많습니다. 이러한 결정은 데이터에 따라 다른 작업을 수행하게 하기 위해 필요한데, 파이썬에서는 이를 위해 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}입니다.")

코드 분석

  1. 사용자 입력 처리: 먼저, input 함수를 사용하여 사용자로부터 현재 온도를 입력 받습니다. 입력받은 값은 문자열이므로, int 함수를 사용하여 정수형으로 변환합니다.
  2. 조건문 실행: 다음으로, if, elif, else 조건문을 사용하여 입력받은 온도에 따라 해당하는 날씨 상태를 변수 weather에 할당합니다.
  3. 결과 출력: 마지막으로, print 함수와 f-string을 사용하여 온도와 날씨 상태를 함께 출력합니다.

학습 포인트

이 예제를 통해 여러분은 조건문의 기본적인 사용 방법을 배울 수 있습니다. 조건문은 프로그램 내에서 중요한 결정을 내리는 데 사용되며, 복잡한 문제를 해결하는 데 있어 기초적이면서도 필수적인 도구입니다. 이제 여러분도 이를 활용하여 자신만의 조건에 따라 다양한 작업을 수행하는 프로그램을 만들어 볼 수 있습니다.

이 간단한 날씨 프로그램 예제를 시작으로, 조건문을 활용한 더 복잡한 프로그램을 만드는 방법에 도전해 보세요. 프로그래밍 실력을 한 단계 끌어올릴 수 있을 것입니다!

응용문제: 확장된 날씨 프로그램 만들기

이제 여러분은 기본적인 날씨 프로그램을 만들어보았습니다. 다음 단계로, 이 프로그램을 확장하여 더 다양한 기능을 제공하는 응용 프로그램을 만들어 봅시다. 이번에는 온도뿐만 아니라 습도 정보도 받아서 날씨 상태를 더 세분화해 알려주는 프로그램을 만들어보겠습니다.

응용문제 요구사항

  1. 사용자로부터 온도와 습도를 입력받습니다.
  2. 온도와 습도에 따라 날씨 상태를 다음과 같이 분류합니다:
    • 온도가 30도 이상이면 "더움"
    • 온도가 20도 이상 30도 미만이고, 습도가 50% 미만이면 "건조함"
    • 온도가 20도 이상 30도 미만이고, 습도가 50% 이상이면 "습함"
    • 온도가 10도 이상 20도 미만이면 "선선함"
    • 온도가 10도 미만이면 "추움"
  3. 결정된 날씨 상태를 출력합니다.

정답 예제 코드


# 사용자로부터 온도와 습도를 입력 받습니다.
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 조건문을 중첩하여 사용함으로써, 온도와 습도의 조합에 따라 다른 날씨 상태를 할당합니다. 마지막으로, 결정된 날씨 상태를 함께 출력하여 사용자에게 알려줍니다.

응용문제 포인트

이 응용문제는 조건문을 중첩하여 사용하는 방법을 연습할 수 있게 해 줍니다. 중첩 조건문은 보다 복잡한 조건을 판단할 때 유용하며, 실제 프로그래밍에서 자주 사용됩니다. 이 문제를 통해 여러분은 조건문의 활용 범위를 넓히고, 실생활 문제 해결에 한 걸음 더 다가설 수 있을 것입니다.

반응형