1、讀入檔案。由於這個檔案並不大,我們可以一次性讀入,為了方便,這次我們按行讀為列表形式。
2、建立學成績列表,將每個學生作為一個子列表存入成績列表。
3、計算每個學生總分。我們分析一下目前得到的成績列表,可以看出其中第0個子列表是表頭,從第1個子列表向後依次是每個學生資訊,每個學生的成績是子列表中的後三個。於是我們先給第0個列表加上“總分”項,然後對每個學生成績計算總分,寫入列表。為了便於後面排序,把得到總分再轉化為字元。
4、對學生成績按總分進行排序。使用sort函式排序,其中用lambda指定排序項為第5列的總分,用reverse指定是否要降序排列。
5、將排序後結果列印到螢幕上。透過for函式遍歷每行、每列,並在每行結束後列印一個換行,這樣效果會更好。
6、將得到結果寫入文字。
用w模式寫入一個新檔案,寫的時候要注意遍歷成績列表,對其中的子列表每個原因加上"\t",每個子列表結束後再進行換行。
7、開啟txt,檢視結果。
1、讀入檔案。由於這個檔案並不大,我們可以一次性讀入,為了方便,這次我們按行讀為列表形式。
2、建立學成績列表,將每個學生作為一個子列表存入成績列表。
3、計算每個學生總分。我們分析一下目前得到的成績列表,可以看出其中第0個子列表是表頭,從第1個子列表向後依次是每個學生資訊,每個學生的成績是子列表中的後三個。於是我們先給第0個列表加上“總分”項,然後對每個學生成績計算總分,寫入列表。為了便於後面排序,把得到總分再轉化為字元。
4、對學生成績按總分進行排序。使用sort函式排序,其中用lambda指定排序項為第5列的總分,用reverse指定是否要降序排列。
5、將排序後結果列印到螢幕上。透過for函式遍歷每行、每列,並在每行結束後列印一個換行,這樣效果會更好。
6、將得到結果寫入文字。
用w模式寫入一個新檔案,寫的時候要注意遍歷成績列表,對其中的子列表每個原因加上"\t",每個子列表結束後再進行換行。
7、開啟txt,檢視結果。