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. 退出
请输入您要查询的城市编号
目录
相关文章
|
3月前
|
前端开发 JavaScript 关系型数据库
基于python的租房网站-房屋出租租赁系统(python+django+vue)源码+运行
该项目是基于python/django/vue开发的房屋租赁系统/租房平台,作为本学期的课程作业作品。欢迎大家提出宝贵建议。
123 6
|
3月前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的美容预约管理系统源码+运行
基于Python+Vue开发的美容预约管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的美容诊所预约管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
67 9
|
3月前
|
JavaScript 前端开发 关系型数据库
基于Python+Vue开发的体育场馆预约管理系统源码+运行
本项目为大学生课程设计作业,采用Python和Vue技术构建了一个体育场馆预约管理系统(实现前后端分离)。系统的主要目标在于帮助学生理解和掌握Python编程知识,同时培养其项目规划和开发能力。参与该项目的学习过程,学生能够在实际操作中锻炼技能,为未来的职业发展奠定良好的基础。
108 3
|
3月前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的新闻管理系统源码+运行
基于Python+Vue开发的新闻管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的新闻管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
100 5
|
3月前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的房产销售管理系统源码+运行
基于Python+Vue开发的房产销售管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的房产销售管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
70 2
|
11月前
|
前端开发 JavaScript 关系型数据库
基于Python+Vue开发的电影订票管理系统
该项目是基于Python+Vue开发的电影订票管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Python编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Python的电影订票管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
121 1
|
11月前
|
数据采集 数据可视化 关系型数据库
【优秀python web设计】基于Python flask的猫眼电影可视化系统,可视化用echart,前端Layui,数据库用MySQL,包括爬虫
本文介绍了一个基于Python Flask框架、MySQL数据库和Layui前端框架的猫眼电影数据采集分析与可视化系统,该系统通过爬虫技术采集电影数据,利用数据分析库进行处理,并使用Echart进行数据的可视化展示,以提供全面、准确的电影市场分析结果。
322 4
|
11月前
|
存储 数据采集 数据可视化
基于Python flask+MySQL+echart的电影数据分析可视化系统
该博客文章介绍了一个基于Python Flask框架、MySQL数据库和ECharts库构建的电影数据分析可视化系统,系统功能包括猫眼电影数据的爬取、存储、展示以及电影评价词云图的生成。
620 1
|
11月前
|
数据采集 存储 数据可视化
基于Python flask的猫眼电影票房数据分析可视化系统,可以定制可视化
本文介绍了一个基于Python Flask框架开发的猫眼电影票房数据分析可视化系统,该系统集成了数据爬取、存储处理、可视化展示和用户交互功能,使用户能够直观地分析和展示电影票房数据,具有高度定制性。
334 0
基于Python flask的猫眼电影票房数据分析可视化系统,可以定制可视化
|
11月前
|
机器学习/深度学习 算法 数据可视化
基于Python flask的豆瓣电影数据分析可视化系统,功能多,LSTM算法+注意力机制实现情感分析,准确率高达85%
本文介绍了一个基于Python Flask框架的豆瓣电影数据分析可视化系统,该系统集成了LSTM算法和注意力机制进行情感分析,准确率高达85%,提供了多样化的数据分析和情感识别功能,旨在帮助用户深入理解电影市场和观众喜好。
388 0

推荐镜像

更多