如何用Python来写pm2.5空气质量查询程序

今天就教大家用之前有跟大家分享过的python基础学习教程完成首个MVP,如何用CLI(command-line interface,命令行界面)来执行第一个空气质量查询程序。

知识点
如何进行txt文件的读取
数据类型的转换
列表
字典
在命令行界面下和程序进行交互
条件判断
while循环
所需工具
python3
Notepad++、Sublime等任一编辑器
cmd、Terminal、pycharm等能执行命运界面
天气数据文本文件
话不多说,带着大家开始梭哈~
在这里插入图片描述
1.读取文件

本次主要涉及的是文本文件的读取,

Python的文本文件的内容读取,有三种方法:

read(),读取整个文件,通常用于将整个文件内容放到一个字符串变量中;
readline(),逐行读取,当不需要读取整个文件时可以用;
readlines(),一次性读取文本内容,并自动将文件内容分析成一个行的列表。
这次采用readlines()来读取文件:
pm25 = open(‘pm2.5.txt’,‘rb’).readlines()
print(pm25_data)

输出结果为:

[‘北京,晴\n’, ‘海淀,晴\n’, ‘朝阳,晴\n’, ‘顺义,晴\n’, ‘怀柔,晴\n’, …]

大家可以自己试试其他方式读取~

2.把列表转化成字典

此时读取的的内容把城市和其对应的天气作为字符串存在pm25列表中(,列表中的字符串不能直接拆开查询,这里需要对列表处理让其转化为字典。

首先,定义一个字典pm25_data={}
用for循环遍历pm25列表每个字符串
用strip()方法去掉列表中每个字符串的换行符\n
再用split()方法用’,'切分字符串,此时会返回一个列表
把每次循环都写进pm25_data字典中
代码如下:


pm25_data = {
   }
for i in pm25:
 i = i.decode('utf-8').strip('\n')
 i = i.split(',')
 key = i[0]
 value = i[1]
 pm25_data[key] = value

这样,城市和其对应的pm2.5的数值作为key和value分别存入到pm25_data中了。

在我们搜索的过程中,只需要找到该城市在字典中的位置,则可以得到其对应的pm2.5值。

3.获取用户输入的值

完成了天气的读取,下面要实现的是用户的交互,采用input()来读取用户想要查询的城市,并用其输入的值作为key去字典里面进行查询:

user_input 
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.项目代码均经过功能验证ok,确保稳定可靠运行。欢迎下载体验!下载完使用问题请私信沟通。 2.主要针对各个计算机相关专业,包括计算机科学、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师、企业员工。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 4.当然也鼓励大家基于此进行二次开发。在使用过程,如有问题或建议,请及时沟通。 5.期待你能在项目找到乐趣和灵感,也欢迎你的分享和反馈! 【资源说明】 基于Python空气质量查询程序源码+使用说明(课程实验).zip Python编程与数据分析实验 python课实验 实验题目1: 空气质量查询程序 实验内容: 1. 实现一个GUI界面,用户可以输入城市名,程序需要获取此城市当前的空气质量数据,以图文并茂的方式展示在GUI界面空气质量数据至少包括AQI(空气质量指数),PM2.5,PM10三个数据。(可选择性展示CO,NO2,SO2,O3等浓度数据)。 2. 查询城市的至少过去七天的AQI(空气质量指数),并将数据画成折线图。 免费开发版的key可以获取当前的空气质量数据, 要获取历史数据需要商业共享版的key ```python # 查询参数, 用于查询当前空气质量数据 parameter = {'location': "北京", 'key': '换上你的key(免费开发版即可)'} ``` ```python # 查询参数, 用于查询历史空气质量数据 historical = {'location': locationid, 'date': date, 'key': '换上你的key(需要商业共享版key)'} ``` ### lab1/main.py > 界面编,点击可运行

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值