閒來無事,用Python寫了一個pm2.5查詢小程式,還是很有趣的
今天教大家用python完成首個MVP,如何用CLI(command-line interface,命令列介面)來執行第一個空氣質量查詢程式。
更多Python視訊、原始碼、資料加群960410445免費獲取
知識點
- 如何進行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執行結果: