본문 바로가기

색인불가

"온도에 따라 변하는 화면! 파이썬 날씨 프로그램으로 날씨를 시각화하자"

반응형

파이썬으로 날씨를 맞춰봐! 실시간 온도 변화에 따른 자동 색상 변경 프로그램 만들기

날씨 프로그램을 표현한 이미지
날씨 프로그램을 표현한 이미지


여러분, 날씨 정보에 따라 화면의 색상이 변하는 프로그램을 파이썬으로 만들어본 적 있으신가요? 오늘은 파이썬을 사용해서 온도에 따라 색상이 자동으로 변경되는 날씨 프로그램을 만드는 방법을 소개해드리겠습니다. 이 프로그램은 실시간으로 날씨를 확인하고, 그에 따라 화면의 색상이 변하는 아주 기발한 아이디어입니다.

준비물

  • Python 3.x
  • Tkinter 라이브러리 (Python 표준 라이브러리)
  • Requests 라이브러리 (날씨 API 호출을 위해 사용)
  • OpenWeatherMap API 키

1. 라이브러리 설치

먼저, 필요한 라이브러리를 설치합니다. Tkinter는 파이썬 표준 라이브러리로 별도 설치가 필요 없지만, Requests 라이브러리는 설치해야 합니다.


pip install requests

2. 날씨 프로그램 코드 작성

이제 날씨 프로그램을 만드는 코드를 작성해 보겠습니다. OpenWeatherMap API를 사용하여 특정 도시의 현재 온도를 가져오고, 그 온도에 따라 색상을 변경하는 프로그램입니다.


import tkinter as tk
from tkinter import font
import requests

# 날씨 API 설정 (OpenWeatherMap 예시)
API_KEY = "your_openweathermap_api_key"
CITY = "Seoul"
URL = f"http://api.openweathermap.org/data/2.5/weather?q={CITY}&appid={API_KEY}&units=metric"

def get_weather():
    response = requests.get(URL)
    if response.status_code == 200:
        data = response.json()
        temp = data['main']['temp']
        return temp
    else:
        return None

def update_color(temp):
    if temp <= 1:
        color = "skyblue"
    elif temp == 2:
        color = "blue"
    else:
        color = "white"  # 기본 색상
    return color

def update_weather():
    temp = get_weather()
    if temp is not None:
        temp_label.config(text=f"{temp}°C")
        color = update_color(temp)
        temp_label.config(bg=color)
    else:
        temp_label.config(text="Error")
    root.after(60000, update_weather)  # 1분마다 업데이트

root = tk.Tk()
root.title("날씨 프로그램")

# 폰트 설정
font_style = font.Font(size=50)

# 온도 표시 라벨
temp_label = tk.Label(root, text="", font=font_style)
temp_label.pack(pady=20)

# 날씨 업데이트
update_weather()

# GUI 실행
root.mainloop()

3. API 키 설정

위 코드에서 API_KEY 변수에 본인의 OpenWeatherMap API 키를 입력하세요. API 키는 OpenWeatherMap에서 무료로 발급받을 수 있습니다.

날씨 프로그램을 표현한 이미지
날씨 프로그램을 표현한 이미지

4. 프로그램 실행

코드를 모두 작성했다면, 프로그램을 실행해보세요. 실시간으로 온도를 가져와서 그에 맞는 색상으로 배경이 변경됩니다.

 

이렇게 해서 파이썬을 사용하여 실시간 온도 변화에 따라 색상이 자동으로 변하는 날씨 프로그램을 만들어보았습니다. 이 프로그램은 날씨를 더 재미있고 시각적으로 확인할 수 있게 해 줍니다. 다음번에는 더 다양한 기능을 추가해 보세요! 예를 들어, 날씨 아이콘을 추가하거나, 다른 도시의 날씨도 함께 보여줄 수 있습니다. Happy Coding!

반응형