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天前
|
机器学习/深度学习 监控 TensorFlow
使用Python实现深度学习模型:智能森林火灾预警系统
使用Python实现深度学习模型:智能森林火灾预警系统
25 5
|
3天前
|
前端开发 数据库 虚拟化
太6了!用Python快速开发数据库入库系统
太6了!用Python快速开发数据库入库系统
|
2天前
|
数据采集 开发工具 Python
海康威视工业相机SDK+Python+PyQt开发数据采集系统(支持软件触发、编码器触发)
该系统基于海康威视工业相机SDK,使用Python与PyQt开发,支持Gige与USB相机设备的搜索及双相机同时显示。系统提供软件触发与编码器触发模式,并可在数据采集过程中实时保存图像。此外,用户可以调节曝光时间和增益,并进行信息输入,这些信息将被保存至配置文件以便下次自动加载。参数调节与实时预览等功能进一步增强了系统的实用性。
21 1
|
3天前
|
Python
炫酷!纯Python开发LOL英雄信息查询平台
炫酷!纯Python开发LOL英雄信息查询平台
|
9天前
|
机器学习/深度学习 监控 TensorFlow
使用Python实现深度学习模型:智能停车管理系统
【8月更文挑战第22天】 使用Python实现深度学习模型:智能停车管理系统
26 8
|
1天前
|
JSON IDE API
探索Python编程:打造你的第一个天气查询工具
【8月更文挑战第30天】在这篇文章中,我们将一起踏上Python编程的奇妙旅程,从零基础开始,逐步构建出属于自己的天气查询工具。文章将引导你了解Python语言的魅力,通过实际的项目操作,让你体验到编程的乐趣和成就感。无论你是编程新手还是希望扩展技能的老手,这篇文章都将为你提供宝贵的经验和知识。让我们一起探索代码的世界,解锁新技能,让技术改变生活!
|
2天前
|
存储 数据挖掘 数据库
探索Python编程:从基础到高级探索移动应用开发之旅:从概念到实现
【8月更文挑战第29天】本文将带你进入Python的世界,无论你是初学者还是有一定经验的开发者。我们将从Python的基础知识开始,然后逐步深入到更复杂的主题。你将学习到如何编写清晰、高效的代码,以及如何使用Python进行数据分析和网络编程。最后,我们将介绍一些高级主题,如装饰器和生成器。让我们一起开始这段旅程吧!
|
1天前
|
存储 Kubernetes Cloud Native
探索Python编程的奥秘云原生时代的容器编排:Kubernetes入门与实践
【8月更文挑战第30天】本文以浅显易懂的方式,探讨了Python编程的核心概念和技巧。从基础语法到高级特性,再到实际应用案例,逐步引导读者深入理解Python编程的精髓。通过本文的学习,读者将能够掌握Python编程的基本技能,并激发进一步探索的兴趣。
19 13
|
1天前
|
运维 Kubernetes Cloud Native
云原生之旅:Kubernetes 集群的搭建与实践Python 编程入门:从零基础到编写实用脚本
【8月更文挑战第30天】在数字化转型的大潮中,云原生技术以其弹性、可扩展性及高效运维能力成为企业IT架构升级的关键。本文将通过实际操作演示如何在本地环境搭建一个简易的Kubernetes集群,带你领略云原生的魅力所在。从集群规划到服务部署,每一步都是对云原生理念的深刻理解和应用。让我们共同探索,如何通过Kubernetes集群的搭建和运维,提升业务灵活性和创新能力。
|
1天前
|
数据采集 运维 Devops
探索Python编程之美:从基础到进阶自动化运维的变革之路:从脚本到DevOps
【8月更文挑战第30天】在数字化时代的浪潮中,编程已经成为一门重要的技能。Python以其简洁明了的语法和强大的功能,成为了许多初学者的首选编程语言。本文将通过浅显易懂的语言,带领读者从Python的基础语法出发,逐步深入到面向对象编程、网络爬虫开发以及数据分析等高级应用,旨在帮助初学者构建扎实的编程基础,并激发他们进一步探索编程世界的热情。文章不仅分享实用的编程技巧,还将探讨如何将编程知识应用于解决实际问题,以期培养读者的问题解决能力和创新思维。
下一篇
云函数