我目前正在爲我的學校工作制定一個計劃,要求用戶3套10個隨機生成的問題,然後根據他們所屬的類別,將學生結果存儲在三個文本文件之一中。然後程序應該能夠加載文本文件中的所有數據,以便當下一位學生參加測驗時,其結果會被附加到其餘部分。它存儲在名爲「class1」,「class2」或「class3」的列表中,具體取決於用戶所處的類別。數據可以按不同的方式排序。在這篇文章中,我們將假設用戶處於1級。如何將文件中的文本轉換爲Python中的列表?
該程序會跟蹤用戶名,最高分,平均分和他們在測驗中的三次嘗試並將其存儲到「class1」列表中。以下是「class1」列表。
[('Albert', 6, 2, [6, 0, 0]), ('Bob', 6, 2.33, [6, 1, 0]), ('Cameron', 5, 4, [5, 2, 5])].
如果程序從未運行過,程序將簡單地創建一個名爲「Class 1 Data.txt」的新文本文件。如果該文件已經存在,然而,此以下的代碼段上運行:
f = open("C:/Users/Custom/Desktop/Class " + str(classNumber) + " Data.txt", "r")
lines = f.readlines()
oldData = lines[3]
變量「OLDDATA」現在只需含有「[(‘阿爾伯特’,6,2,[6,0的長字符串,0])...「。現在讓我們假設該程序已關閉,然後由另一個名爲Zara的學生加載,然後他接受測驗。由於「舊數據」只是一個字符串,而不是一個列表,當我嘗試添加回列表中的「1類」,這是發生了什麼:
[('Zara', 9, 6, [3, 9, 6]), "[('Albert', 6, 2, [6, 0, 0]), ('Bob', 6, 2.33, [6, 1, 0]), ('Cameron', 5, 4, [5, 2, 5])]\n"]
我怎麼會去試圖從加載文本文件,然後將其存儲爲列表?我嘗試過使用各種方法,但是他們都沒有工作。任何幫助將不勝感激。
發佈你試過的東西 – 2014-11-01 23:50:07
我嘗試過使用.split()來分割用戶名,最高分,平均分和他們的嘗試,但是它只是導致了這個結果:Old Data List:[「[('Albert ',','6','2','[6,','0,','0])]']。我也嘗試將「class1」轉換爲一個字符串,但這也不起作用。 – Monkeymad358 2014-11-01 23:53:58