我已经将名为“ HighScores.txt”的文本文件的内容更改为列表,并使用以下代码对其进行了排序:
scores = []
with open("HighScores.txt") as f:
for line in f:
name, score = line.split(',')
score = int(score)
scores.append((name, score))
scores.sort(key=lambda s: s[1])
文本文件如下所示:
谢谢,11
jayda,15
克里斯,十二岁
如何将此列表重新转换为字符串,以便可以将其写回到txt文件中?
该修补程序的第一个实施是:
f = open("HighScores.txt", 'r+')
for t in ((name, score)):
f.write(' '.join(str(s) for s in t) + '\n')
错误:
File "C:\Users\samiv\Desktop\Computer Science-20190310T115417Z-001\Computer Science\Coding Project - Copy.py", line 102, in game
f.write(' '.join(str(s) for s in t) + '\n')
TypeError:“ int”对象不可迭代
答案 0 :(得分:0)
尝试在最后一行之后添加此代码:
lines = []
for tup in scores:
s = tup[0] + ', ' + str(tup[1]) + '\n'
lines.append(s)
with open('result.txt', 'w') as f:
f.writelines(lines)
要按降序排列更改参数,如下所示:
scores.sort(key=lambda s: s[1], reverse=True)