我試圖保存用戶名稱出現的次數,一旦該次數達到3,它將覆蓋文件上的分數而不是添加它。如何保存最後三個條目
例如;
Jarrod:0
Jarrod:1
Jarrod:2
Jarrod:0
Jarrod:1
Jarrod:0
Jarrod:0
Jarrod:0
Jarrod:0
Jarrod:0
Jarrod:0
Jarrod:0
Jarrod:0
Jarrod:0
相反,它會告訴
Jarrod:0
Jarrod:0
Jarrod:0
最後三個分數。
if classs == "1":
textfile = open("Class1.txt", "a")
textfile.write(name.title()+ ':' + str(score) + "\n")
textfile.close()
with open("Class1.txt") as f:
entrylist = []
for line in f:
column = line.split(":")
namefile = column[0]
scores = int(column[1].strip())
entrylist.append(namefile)
namecount = []
for word in entrylist:
if word not in namecount:
namecount += [word]
word_count = []
for word in namecount:
word_count += [float(entrylist.count(word))]
for i in range(len(namecount)):
print(namecount[i] + ":" + str(word_count[i]))
在這裏,我已經成功添加的用戶名來namecount
,然後將其添加到word_count
其中出現次數保持
如何隔離在某些名稱中的數字計數然後覆蓋用戶最新的分數?
你能解釋一下你的邏輯嗎? – haifzhan
@haifzhan我做了一個測驗,當用戶進行測驗時,它將他的分數保存到一個txt文件中;名稱:得分。我想這樣做,一旦用戶完成了測驗X的次數,而不是添加新的分數,它取代了舊的分數。所以用戶在文本文件中永遠不會比X多。 – JJA
如果是這樣,爲什麼你的輸出示例顯示'Jarrod:0'3次? – haifzhan