tft每日頭條

 > 圖文

 > 每日算法題及答案

每日算法題及答案

圖文 更新时间:2024-11-25 23:15:05

有些事情,看起來很簡單,但做起來卻挺麻煩。再上一章,我們設計出了算法,算法要落到實處,那就必須轉化為程序的語句,在轉化的過程中,我們有可能還要繼續調整算法。二者的互動,我們可以稱之為知行合一。

由于過程比較複雜,我們将分多個章節,多個步驟來寫。分别用A、B、C等來标注。

關鍵詞:末行,分解為元素

下面我們根據算法,把它還原為程序。

首先,我們要找出文本文件中的最後一行,最後行也可以叫末行,這一行,必須是有内容的,而不是空行。于是,我們把原來的程序的有關部分改造成下面的樣子

每日算法題及答案(從零之049文本處理)1

在上圖中

第13行,我們預設了末行這個變量

第18行,在循環中,我們假設每一行都是末行,不停的叠代,當退出循環的時候,最後的值就是末行了。

第21行,我們顯示一下内容進行測試

每日算法題及答案(從零之049文本處理)2

可以看到,測試的結果是正确的。

第二,我們要判斷末行是不是記錄閱讀次數的那一行,怎麼判斷呢?

我們要知道,記錄閱讀次數那一行的格式

閱讀 2 次

這個格式是我們指定的,阿拉伯數字前後都有空格,于是我們可以采取末行分解成元素的方式進行判斷

每日算法題及答案(從零之049文本處理)3

第21行,我們将末行,用空格把它分隔成列表,放到末元裡邊。

第22行,我們看第一個元素内容是不是閱讀兩個字,這樣我們就得出了結果。

下面我們進一步改造,第一次閱讀文本文件的時候,當然沒有閱讀兩個字,于是就是否的情況

每日算法題及答案(從零之049文本處理)4

第25行,我們直接設置一個閱讀記錄的變量,給它一個值,為什麼是兩次呢?這次我們已經打開了,應該并沒有顯示,當下次顯示的時候,就應該記錄為兩次,因為打開了兩次。

現在我們來看一下另外一種情況,假設文本文件中已經有了記錄閱讀次數的這一行。如何處理?

我們把程序改造成下面的樣子

每日算法題及答案(從零之049文本處理)5

第23行,把列表裡的次數的數值取出來,轉化為整數,然後加一并由變量次數來記錄。

(這時列表中的内容應該是像

['閱讀','2','次']

這個樣子的,這是對上一行的補充說明)

第24行,做成我們需要的格式,記錄到閱讀記錄中。

上面的這些都是準備工作,由于後面的内容比較繁瑣,下一章繼續,本次内容先到這裡。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved