# [天气信息获取与GUI交互](#)


[问题概述]

一、使用requests库获取天气信息

通过requests库可以实现与天气API的交互,获取城市天气信息并返回结果。该脚本需要处理网络请求、数据解析和JSON响应的构建。


[问题解决方案]

二、实现天气信息获取脚本

import requests

def get_weather_info(city, temperature):
    url = f"http://api.weatherapi.com/v2/weather.json?query={city}&appid=your_api_key"
    headers = {
        "Accept": "application/json"
    }

    response = requests.get(url, headers=headers)
    response.raise_for_status()

    json_data = response.json()
    return json_data

# 示例使用
city_name = "北京"
temp = 25

weather_data = get_weather_info(city_name, temp)

print("status:", weather_data['status'])
print("message:", weather_data['message'])
print("data:", weather_data['data'])

[问题解决方案]

三、开发GUI交互界面

import tkinter as tk

def main():
    root = tk.Tk()
    root.title("天气信息交互")

    city_input = tk.Entry(root, width=20)
    temp_input = tk.Entry(root, width=20)
    result_label = tk.Label(root, text="当前天气:", font=("Arial", 14))

    city_input.grid(row=0, column=0, padx=10, pady=10)
    temp_input.grid(row=1, column=0, padx=10, pady=10)
    result_label.grid(row=2, column=0, padx=10, pady=10)

    def display_weather():
        city = city_input.get()
        temp = temp_input.get()
        print(f"输入城市:{city} 温度:{temp}")

    button = tk.Button(root, text="获取天气信息", command=display_weather)
    button.grid(row=3, column=0, padx=10, pady=10)

    root.mainloop()

if __name__ == "__main__":
    main()

[总结]

一、天气信息获取脚本

  • 通过requests库获取天气数据并返回结果。
  • 使用JSON格式展示数据,确保响应结构正确。
  • 包含异常处理和网络状态检查。

二、GUI交互界面

  • 使用Tkinter创建交互式窗口,支持输入城市和温度。
  • 显示天气信息的交互界面,提升用户体验。

这两个问题展示了Python在Web开发和数据处理中的实际应用。无论是网络请求还是GUI界面,Python的简洁性和可扩展性都提供了强大支持。