我想从文件中删除分数并将它们排列在有序列表中,我可以打印出第1,第2和第3位,这是我的代码:
scores = []
result_f = open("results.txt")
for line in result_f:
(name, score) = line.split()
scores.append = (float(score))
result_f.close()
print("The highest scores were: ")
print(score[0])
print(score[1])
print(score[2])
控制台错误python给出的是:
文件" C:\ Python34 \ surfingscores.py",第5行,in scores.append =(浮点数(得分)) AttributeError:' list'对象属性'追加'是只读的
答案 0 :(得分:2)
scores.append
是一个功能。而不是使用
scores.append = float(score)
尝试使用
scores.append = float(score)
或者
scores[len(scores):] = float(score)
答案 1 :(得分:1)
你需要
scores.append(float(score))
目前,您正在尝试将一个浮点值分配给append
列表的属性scores
,这不是您想要的。抛出错误是因为append
列表的scores
属性(附加到该列表的函数)是只读的,因此明确地保护其不受当前代码的影响。
>>> scores = []
>>> scores.append
<built-in method append of list object at 0x7f08964f9638>
答案 2 :(得分:1)
scores.append是分数的函数/方法。
您需要进行函数调用。
scores.append(float(score))