有些事情,看起來很簡單,但做起來卻挺麻煩。再上一章,我們設計出了算法,算法要落到實處,那就必須轉化為程序的語句,在轉化的過程中,我們有可能還要繼續調整算法。二者的互動,我們可以稱之為知行合一。
由于過程比較複雜,我們将分多個章節,多個步驟來寫。分别用A、B、C等來标注。
關鍵詞:末行,分解為元素
下面我們根據算法,把它還原為程序。
首先,我們要找出文本文件中的最後一行,最後行也可以叫末行,這一行,必須是有内容的,而不是空行。于是,我們把原來的程序的有關部分改造成下面的樣子
在上圖中
第13行,我們預設了末行這個變量
第18行,在循環中,我們假設每一行都是末行,不停的叠代,當退出循環的時候,最後的值就是末行了。
第21行,我們顯示一下内容進行測試
可以看到,測試的結果是正确的。
第二,我們要判斷末行是不是記錄閱讀次數的那一行,怎麼判斷呢?
我們要知道,記錄閱讀次數那一行的格式
閱讀 2 次
這個格式是我們指定的,阿拉伯數字前後都有空格,于是我們可以采取末行分解成元素的方式進行判斷
第21行,我們将末行,用空格把它分隔成列表,放到末元裡邊。
第22行,我們看第一個元素内容是不是閱讀兩個字,這樣我們就得出了結果。
下面我們進一步改造,第一次閱讀文本文件的時候,當然沒有閱讀兩個字,于是就是否的情況
第25行,我們直接設置一個閱讀記錄的變量,給它一個值,為什麼是兩次呢?這次我們已經打開了,應該并沒有顯示,當下次顯示的時候,就應該記錄為兩次,因為打開了兩次。
現在我們來看一下另外一種情況,假設文本文件中已經有了記錄閱讀次數的這一行。如何處理?
我們把程序改造成下面的樣子
第23行,把列表裡的次數的數值取出來,轉化為整數,然後加一并由變量次數來記錄。
(這時列表中的内容應該是像
['閱讀','2','次']
這個樣子的,這是對上一行的補充說明)
第24行,做成我們需要的格式,記錄到閱讀記錄中。
上面的這些都是準備工作,由于後面的内容比較繁瑣,下一章繼續,本次内容先到這裡。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!