闲来无事,用Python写了一个pm2.5查询小程序

今天教大家用python完成首个MVP,如何用CLI(command-line interface,命令行界面)来执行第一个空气质量查询程序。本文小编还为大家精心准备了一套电子书,私信回复PDF就可以获取了!

知识点

如何进行txt文件的读取

数据类型的转换

列表

字典

在命令行界面下和程序进行交互

条件判断

while循环

所需工具

python3

Notepad++、Sublime等任一编辑器

cmd、Terminal、pycharm等能执行命运界面

天气数据文本文件

废话不多说,带着大家开始梭哈~

1.读取文件

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

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

read(),读取整个文件,通常用于将整个文件内容放到一个字符串变量中;

readline(),逐行读取,当不需要读取整个文件时可以用;

readlines(),一次性读取文本内容,并自动将文件内容分析成一个行的列表。

这次采用的是readlines()来读取文件:

输出结果为:

['北京,晴 ', '海淀,晴 ', '朝阳,晴 ', '顺义,晴 ', '怀柔,晴 ', ......]

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

2.把列表转化成字典

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

首先,定义一个字典pm25_data={}

用for循环遍历pm25列表每个字符串

用strip()方法去掉列表中每个字符串的换行符

再用split()方法用','切分字符串,此时会返回一个列表

把每次循环都写进pm25_data字典中

代码如下:

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

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

3.获取用户输入的值

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

user_input为用户输入的城市名, pm25_data[user_input]是其所对应的pm2.5值。

4.历史记录

可以在最开始的是定义一个history_data = []作为缓存,用于存储历史记录。

用户查询一次记录一次,所以存储历史数据的代码为:

temp.append用于在列表中增加一组。

想要读取这个缓存里面的内容,则可以使用循环来进行查看:

for i in history_data:可以遍历history_data中的每一个数据。

5.帮助

还可以定义下help指令,当输入help或者帮助的时候可以查看帮助文档,用三引号来输入多行文字:

文字可以自定义,也可以用or来添加多个指令

文字较多时,为了显示好看,也可以文字的前后用print('-'*30)加入横线来什么的来美化一下什么的

6.退出

从sys库里导入一个exit函数用来退出程序,sys是Python自带的模块,直接调用就可以用:

当输入quit或者exit的时候,就可以退出这个程序。

也可以定义为中文“退出”来退出程序,大家可以改动下试试。

7.完成

最后,再添加上while循环把刚才提到的几个逻辑串联起来,这个简单的程序就完成了:

其实不用while循环,直接用if条件判断也不影响结果,大家可以把while去掉试试。

cmd执行效果如下:

pycharm执行结果:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181219A0EWUV00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券