Python实现简易天气查询系统

简介: Python实现简易天气查询系统

天气查询是日常生活中常用的功能,而Python作为一种易于学习的编程语言,可以方便地实现天气查询系统的功能。本文将介绍如何使用Python实现一个简易的天气查询系统,包括城市选择、天气查询和数据显示等功能。文章最后将提供完整代码和运行结果。

关键词:Python;天气查询;城市选择;数据显示

1. 引言

随着科技的发展,人们对生活品质的要求越来越高,天气查询成为日常生活中必不可少的功能。通过编程实现天气查询,不仅可以提高工作效率,还可以锻炼编程思维。本文将介绍如何使用Python实现一个简易的天气查询系统。

2. 天气查询系统功能设计

本文设计的简易天气查询系统将实现以下功能:

1)城市选择:提供城市列表供用户选择;

2)天气查询:根据用户选择的城市,查询实时天气信息;

3)数据显示:将查询到的天气信息显示在界面上。

3. Python实现天气查询系统

3.1 引入库

首先,我们需要引入Pythonrequests库,以便发送网络请求获取天气数据。

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. 退出
请输入您要查询的城市编号
目录
相关文章
|
13天前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
167 55
|
2天前
|
存储 小程序 Python
农历节日倒计时:基于Python的公历与农历日期转换及节日查询小程序
### 农历节日倒计时:基于Python的公历与农历日期转换及节日查询小程序 该程序通过`lunardate`库实现公历与农历的日期转换,支持闰月和跨年处理,用户输入农历节日名称后,可准确计算距离该节日还有多少天。功能包括农历节日查询、倒计时计算等。欢迎使用! (239字符)
116 86
|
2天前
|
存储 缓存 监控
局域网屏幕监控系统中的Python数据结构与算法实现
局域网屏幕监控系统用于实时捕获和监控局域网内多台设备的屏幕内容。本文介绍了一种基于Python双端队列(Deque)实现的滑动窗口数据缓存机制,以处理连续的屏幕帧数据流。通过固定长度的窗口,高效增删数据,确保低延迟显示和存储。该算法适用于数据压缩、异常检测等场景,保证系统在高负载下稳定运行。 本文转载自:https://www.vipshare.com
90 66
|
23天前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
129 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
3天前
|
存储 算法 Python
文件管理系统中基于 Python 语言的二叉树查找算法探秘
在数字化时代,文件管理系统至关重要。本文探讨了二叉树查找算法在文件管理中的应用,并通过Python代码展示了其实现过程。二叉树是一种非线性数据结构,每个节点最多有两个子节点。通过文件名的字典序构建和查找二叉树,能高效地管理和检索文件。相较于顺序查找,二叉树查找每次比较可排除一半子树,极大提升了查找效率,尤其适用于海量文件管理。Python代码示例包括定义节点类、插入和查找函数,展示了如何快速定位目标文件。二叉树查找算法为文件管理系统的优化提供了有效途径。
34 5
|
24天前
|
机器学习/深度学习 算法 前端开发
基于Python深度学习的果蔬识别系统实现
果蔬识别系统,主要开发语言为Python,基于TensorFlow搭建ResNet卷积神经网络算法模型,通过对12种常见的果蔬('土豆', '圣女果', '大白菜', '大葱', '梨', '胡萝卜', '芒果', '苹果', '西红柿', '韭菜', '香蕉', '黄瓜')图像数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django框架搭建Web网页端可视化操作界面,以下为项目实现介绍。
37 4
基于Python深度学习的果蔬识别系统实现
|
23天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
22天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
11天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
101 80
|
29天前
|
存储 索引 Python
Python编程数据结构的深入理解
深入理解 Python 中的数据结构是提高编程能力的重要途径。通过合理选择和使用数据结构,可以提高程序的效率和质量
142 59