【发布时间】:2015-12-13 02:19:13
【问题描述】:
我的代码有问题,我试图找到一种方法来显示从最高到最低的分数。
但每次我这样做时都会出现一堆数字或者它表示对象。
我正在尝试从存储它的文本文件中获取分数。除了这部分之外,我的其余代码都很好。
我尝试了很多方法,以至于我不知道自己在做什么。
with open('class1.txt', 'r') as f:
for f in sorted(f):
name, *scores = f.split(',')
hl = list(reversed(scores))
print (hl)
我的文本文件如下所示:
nathan ,2, 0, 10
adil ,8, 9, 7
masuda ,7, 4, 6
zain ,0, 0, 3
abdur rauf ,2, 0, 0
danniel ,7, 7, 2
这是我运行代码时得到的结果:
> [' 0\n', ' 0', '2']
[' 7\n', ' 9', '8']
[' 2\n', ' 7', '7']
[' 6\n', ' 4', '7']
[' 10\n', ' 0', '2']
[' 3\n', ' 0', '0']
真的应该是这样的
adil ,9, 8, 7
abdur rauf ,2, 0, 0
danniel ,7, 7, 2
masuda ,7, 6, 4
nathan ,10, 2, 0
zain ,3, 0, 0
【问题讨论】:
-
你不应该使用相同的
clas变量同时用于类号和排序选择。 -
当测试互斥时,你也应该使用
else if。 -
您的
hl选项在哪里按学生的分数对学生进行排序?它使用与alphabetical相同的sorted(f)。 -
你能显示示例文件内容吗?看起来每个学生都有一个以逗号分隔的分数列表。按分数排序时应该使用哪些分数?
标签: python