[问题概述]
一、使用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的简洁性和可扩展性都提供了强大支持。