<p>编辑:</p>
<hr/>
<p>在“test”函数之前添加此函数:</p>
<pre><code>def writeUserScore(file, name, score):
with open (file, "r") as myfile:
s = myfile.read()
rows = s.split("\n")
data = {}
for row in rows:
tmp = row.split(",")
if len(tmp) >= 2: data[tmp[0]] = tmp[1:]
if name not in data:
data[name] = []
data[name].append(str(score))
output = ""
for name in data:
output = output + name + "," + ",".join(data[name]) + "\n"
handle = open(file, "w+")
handle.write(output)
handle.close()
</code></pre>
<p>在此之后,如果有“if users\u class==1:”,请执行以下操作:</p>
<pre><code>writeUserScore("Class1.txt", username, str(correct_answers))
</code></pre>
<p>对另外两个if也一样。你知道吗</p>
<p>让我知道你的想法!你知道吗</p>
<hr/>
<p>尝试使用字典保存现有文件数据。你知道吗</p>
<p>例如,读取名为“str”的变量中的文件。然后这样做:</p>
<pre><code>rows = str.split("\n")
data1 = {}
for row in rows:
tmp = row.split(",")
data1[tmp[0]] = tmp[1:]
</code></pre>
<p>当你有一个新的分数时,你应该做:</p>
<pre><code>if username not in data1:
data1[username] = []
data1[username] = str(correct_answers)
</code></pre>
<p>并将数据保存回文件:</p>
<pre><code>output = ""
for name in data1:
output = outupt + name + "," + ",".join(data1[name]) | "\n"
</code></pre>
<p>并将“output”的内容保存到文件中。你知道吗</p>
<p>PS:如果您不受文件格式的约束,那么可以使用JSON文件。如果你愿意,我可以告诉你更多。你知道吗</p>
<p>希望有帮助,
亚历克斯</p>