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. 退出
请输入您要查询的城市编号
目录
相关文章
|
24天前
|
存储 人工智能 搜索推荐
【python】python用户管理系统[简易版](源码+报告)【独一无二】
【python】python用户管理系统[简易版](源码+报告)【独一无二】
|
24天前
|
存储 数据挖掘 数据库
【Python】python天气数据抓取与数据分析(源码+论文)【独一无二】
【Python】python天气数据抓取与数据分析(源码+论文)【独一无二】
|
1天前
|
数据可视化 Python
Python的分子模拟动态促进DF Theory理论对二进制硬盘系统的适用性
Python的分子模拟动态促进DF Theory理论对二进制硬盘系统的适用性
|
9天前
|
运维 数据可视化 Python
PYTHON中用PROPHET模型对天气时间序列进行预测与异常检测
PYTHON中用PROPHET模型对天气时间序列进行预测与异常检测
24 1
|
10天前
|
数据采集 NoSQL 搜索推荐
五一假期畅游指南:Python技术构建的热门景点分析系统解读
五一假期畅游指南:Python技术构建的热门景点分析系统解读
|
11天前
|
数据格式 Python
python对NOAA天气数据格式转换
python对NOAA天气数据格式转换
13 0
|
19天前
|
人工智能 机器人 测试技术
【Python】Python仓储管理系统(源码)【独一无二】
【Python】Python仓储管理系统(源码)【独一无二】
|
24天前
|
人工智能 机器人 测试技术
【Python】Python房屋销售系统(源码)【独一无二】(课程设计)
【Python】Python房屋销售系统(源码)【独一无二】(课程设计)
|
27天前
|
机器学习/深度学习 数据采集 算法
基于Apriori关联规则的电影推荐系统(附python代码)
这是一个基于Apriori算法的电影推荐系统概览。系统通过挖掘用户评分数据来发现关联规则,例如用户观看某部电影后可能感兴趣的其他电影。算法核心是逐层生成频繁项集并设定最小支持度阈值,之后计算规则的置信度。案例中展示了数据预处理、频繁项集生成以及规则提取的过程,具体包括用户评分电影的统计分析,如1-5部电影的评分组合。最后,通过Python代码展示了Apriori算法的实现,生成推荐规则,并给出了一个简单的推荐示例。整个过程旨在提高推荐的精准度,基于用户已评分的电影推测他们可能尚未评分但可能喜欢的电影。
基于Apriori关联规则的电影推荐系统(附python代码)
|
Python
用python实现接口测试(三、天气查询接口)
一般来说做接口测试,我们应当手上能够拿到后台开发提供的接口文档,但是我今天给大家找的是网络上的案例,学习的同学可以一起看看。 一、天气查询接口(www.webxml.
1136 0