file = open("resultsA.txt", "r")
for line in file:
x = line.split(",")
a = x[0]
score_one = x[1]
score_two = x[2]
score_three = x[3]
names = sort(a)
maximum = max(score_one + score_two + score_three)
print(names + "-" + maximum)
我已经成功测试了这段代码并输出了一组变量的最大值。但是,我一直在尝试组织变量“名称”,以便按字母顺序输出所有名称但是它没有工作,我遇到了这个错误:here
答案 0 :(得分:0)
由于x[0]
(后来a
)是一行中的第一个条目,sort(a)
将无法按预期工作。这里缺少sort
的实现(sort
不是内置的,可能是你的意思sorted
?)
您必须构建一个包含姓名和分数的列表,并对整个列表进行排序。
尝试这样的事情:
file_results = open("resultsA.txt", "r")
lines_splited=[line.strip().split(",") for line in file_results]
lines_sorted=sorted(lines_splited, key=lambda v:v[0])
results=[(name, max(a,b,c)) for name, a, b, c in lines_sorted]
for name, score in results:
print(name+"-"+score)
我的结果A.txt进行测试:
C,2,1,0
A,1,2,3
B,3,4,1
运行脚本时的结果:
A-3
B-4
C-2