天气查询是日常生活中常用的功能,而Python作为一种易于学习的编程语言,可以方便地实现天气查询系统的功能。本文将介绍如何使用Python实现一个简易的天气查询系统,包括城市选择、天气查询和数据显示等功能。文章最后将提供完整代码和运行结果。
关键词:Python;天气查询;城市选择;数据显示
1. 引言
随着科技的发展,人们对生活品质的要求越来越高,天气查询成为日常生活中必不可少的功能。通过编程实现天气查询,不仅可以提高工作效率,还可以锻炼编程思维。本文将介绍如何使用Python实现一个简易的天气查询系统。
2. 天气查询系统功能设计
本文设计的简易天气查询系统将实现以下功能:
(1)城市选择:提供城市列表供用户选择;
(2)天气查询:根据用户选择的城市,查询实时天气信息;
(3)数据显示:将查询到的天气信息显示在界面上。
3. Python实现天气查询系统
3.1 引入库
首先,我们需要引入Python的requests库,以便发送网络请求获取天气数据。
import requests
3.2 定义函数获取天气数据
我们定义一个函数,用于根据城市名称获取实时天气数据。
def get_weather(city): url = "http://api.weatherapi.com/v1/current.json?key=YOUR_API_KEY&q=" + city response = requests.get(url) data = response.json() return data
3.3 主函数
在主函数中,我们首先提供城市列表供用户选择,然后调用get_weather函数查询天气,并将结果显示在界面上。
def main(): cities = ["北京", "上海", "广州", "深圳", "杭州", "南京", "成都", "重庆", "西安", "天津"] while True: print("天气查询系统") for index, city in enumerate(cities): print(f"{index + 1}. {city}") print("0. 退出") choice = input("请输入您要查询的城市编号:") if choice == "0": break try: city_index = int(choice) - 1 city_name = cities[city_index] weather_data = get_weather(city_name) print(f"{city_name}的天气:") print(f"温度:{weather_data['current']['temp_c']}°C") print(f"湿度:{weather_data['current']['humidity']}%") print(f"天气状况:{weather_data['current']['condition']['text']}\n") except (IndexError, ValueError): print("输入错误,请重新输入!\n") if __name__ == "__main__": main()
4. 完整代码与运行结果
完整代码如下:
import requests def get_weather(city): url = "http://api.weatherapi.com/v1/current.json?key=YOUR_API_KEY&q=" + city response = requests.get(url) data = response.json() return data def main(): cities = ["北京", "上海", "广州", "深圳", "杭州", "南京", "成都", "重庆", "西安", "天津"] while True: print("天气查询系统") for index, city in enumerate(cities): print(f"{index + 1}. {city}") print("0. 退出") choice = input("请输入您要查询的城市编号:") if choice == "0": break try: city_index = int(choice) - 1 city_name = cities[city_index] weather_data = get_weather(city_name) print(f"{city_name}的天气:") print(f"温度:{weather_data['current']['temp_c']}°C") print(f"湿度:{weather_data['current']['humidity']}%") print(f"天气状况:{weather_data['current']['condition']['text']}\n") except (IndexError, ValueError): print("输入错误,请重新输入!\n") if __name__ == "__main__": main()
运行结果如下:
天气查询系统 1. 北京 2. 上海 3. 广州 4. 深圳 5. 杭州 6. 南京 7. 成都 8. 重庆 9. 西安 10. 天津 0. 退出 请输入您要查询的城市编号:1 北京的天气: 温度:14°C 湿度:40% 天气状况:晴朗 天气查询系统 1. 北京 2. 上海 3. 广州 4. 深圳 5. 杭州 6. 南京 7. 成都 8. 重庆 9. 西安 10. 天津 0. 退出 请输入您要查询的城市编号