1. 程式人生 > >閒來無事,用Python寫了一個pm2.5查詢小程式,還是很有趣的

閒來無事,用Python寫了一個pm2.5查詢小程式,還是很有趣的

閒來無事,用Python寫了一個pm2.5查詢小程式,還是很有趣的

 

 

今天教大家用python完成首個MVP,如何用CLI(command-line interface,命令列介面)來執行第一個空氣質量查詢程式。

更多Python視訊、原始碼、資料加群960410445免費獲取
 

知識點

  • 如何進行txt檔案的讀取
  • 資料型別的轉換
  • 列表
  • 字典
  • 在命令列介面下和程式進行互動
  • 條件判斷
  • while迴圈

所需工具

  • python3
  • Notepad++、Sublime等任一編輯器
  • cmd、Terminal、pycharm等能執行命運介面
  • 天氣資料文字檔案

廢話不多說,帶著大家開始梭哈~

閒來無事,用Python寫了一個pm2.5查詢小程式,還是很有趣的

 

1.讀取檔案

本次主要涉及的是文字檔案的讀取,

Python的文字檔案的內容讀取,有三種方法:

  • read(),讀取整個檔案,通常用於將整個檔案內容放到一個字串變數中;
  • readline(),逐行讀取,當不需要讀取整個檔案時可以用;
  • readlines(),一次性讀取文字內容,並自動將檔案內容分析成一個行的列表

這次採用的是readlines()來讀取檔案:

閒來無事,用Python寫了一個pm2.5查詢小程式,還是很有趣的

 

輸出結果為:

['北京,晴 ', '海淀,晴 ', '朝陽,晴 ', '順義,晴 ', '懷柔,晴 ', ......]

大家可以自己試試其他方式讀取~

2.把列表轉化成字典

此時讀取的的內容把城市和其對應的天氣作為字串存在pm25列表中(,列表中的字串不能直接拆開查詢,這裡需要對列表處理讓其轉化為字典。

  1. 首先,定義一個字典pm25_data={}
  2. 用for迴圈遍歷pm25列表每個字串
  3. 用strip()方法去掉列表中每個字串的換行符
  4. 再用split()方法用','切分字串,此時會返回一個列表
  5. 把每次迴圈都寫進pm25_data字典中

程式碼如下:

閒來無事,用Python寫了一個pm2.5查詢小程式,還是很有趣的

 

這樣,城市和其對應的pm2.5的數值作為key和value分別存入到pm25_data中了。

在我們搜尋的過程中,只需要找到該城市在字典中的位置,則可以得到其對應的pm2.5值。

3.獲取使用者輸入的值

完成了天氣的讀取,下面要實現的是使用者的互動,採用input()來讀取使用者想要查詢的城市,並用其輸入的值作為key去字典裡面進行查詢:

閒來無事,用Python寫了一個pm2.5查詢小程式,還是很有趣的

 

user_input為使用者輸入的城市名, pm25_data[user_input]是其所對應的pm2.5值。

4.歷史記錄

可以在最開始的是定義一個history_data = []作為快取,用於儲存歷史記錄。

使用者查詢一次記錄一次,所以儲存歷史資料的程式碼為:

閒來無事,用Python寫了一個pm2.5查詢小程式,還是很有趣的

 

temp.append用於在列表中增加一組。

想要讀取這個快取裡面的內容,則可以使用迴圈來進行檢視:

閒來無事,用Python寫了一個pm2.5查詢小程式,還是很有趣的

 

for i in history_data:可以遍歷history_data中的每一個數據。

5.幫助

還可以定義下help指令,當輸入help或者幫助的時候可以檢視幫助文件,用三引號來輸入多行文字:

閒來無事,用Python寫了一個pm2.5查詢小程式,還是很有趣的

 

文字可以自定義,也可以用or來新增多個指令

文字較多時,為了顯示好看,也可以文字的前後用print('-'*30)加入橫線來什麼的來美化一下什麼的

閒來無事,用Python寫了一個pm2.5查詢小程式,還是很有趣的

 

6.退出

從sys庫裡匯入一個exit函式用來退出程式,sys是Python自帶的模組,直接呼叫就可以用:

閒來無事,用Python寫了一個pm2.5查詢小程式,還是很有趣的

 

當輸入quit或者exit的時候,就可以退出這個程式。

也可以定義為中文“退出”來退出程式,大家可以改動下試試。

7.完成

最後,再新增上while迴圈把剛才提到的幾個邏輯串聯起來,這個簡單的程式就完成了:

閒來無事,用Python寫了一個pm2.5查詢小程式,還是很有趣的

 

其實不用while迴圈,直接用if條件判斷也不影響結果,大家可以把while去掉試試。

cmd執行效果如下:

閒來無事,用Python寫了一個pm2.5查詢小程式,還是很有趣的

 

 

pycharm執行結果:

閒來無事,用Python寫了一個pm2.5查詢小程式,還是很有趣的