在一個文本文件中存放著學生的各科成就,此刻需要計較各門課的成就總分,并進行排序。這個應該怎么做呢?讓我們試著編寫這樣的一個小程序。
第一步,讀入文件。因為這個文件并不大,我們可以一次性讀入,為了便利,此次我們按行讀為列表形式。
第二步,成立學成就列表,將每個學生作為一個子列表存入成就列表。
第三步,計較每個學生總分。我們闡發一下今朝獲得的成就列表,可以看出此中第0個子列表是表頭,從第1個子列表標的目的后依次是每個學生信息,每個學生的成就是子列表中的后三個。于是我們先給第0個列表加上“總分”項,然后對每個學生成就計較總分,寫入列表。為了便于后面排序,把獲得總分再轉化為字符。
第四步,對學生成就按總分進行排序。利用sort函數排序,此中用lambda指心猿意馬排序項為第5列的總分,用reverse指心猿意馬是否要降序擺列。
第五步,將排序后成果打印到屏幕上。經由過程for函數遍歷每行、每列,并在每行竣事后打印一個換行,這樣結果會更好。
第六步,將獲得成果寫入文本。
用w模式寫入一個新文件,寫的時辰要注重遍歷成就列表,對此中的子列表每個原因加上"\t",每個子列表竣事后再進行換行。
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!