一个对玩家分数进行排序的程序,按降序显示他们的分数

时间:2021-03-14 04:45:14

标签: python python-3.9

position = []
name = []
all_marks =[]

total_players = int(input("Insert number of players: "))


for x in range(total_players):
    player_name = input("Player name: ")
    print("Player ",x+1," name:",player_name)
    position.append(int(x+1))
    name.append(player_name)

index_name = list((position[x],name[x]) for x in range(total_players))

print(index_name)



for x in range(total_players):
    print("For player ",name[x], )
    marks = input("Insert your marks: ")
    all_marks.append(marks)

marks_name = list((all_marks[x],name[x]) for x in range(total_players))

marks_name.sort(key=lambda mn: mn[0], reverse = True)

print("Ranking",marks_name)

打印标记时,它基于玩家标记,即mn[0],因为我已经说明了reverse = True,所以标记将按相反顺序排序, 然而,打印的顺序不是按照所需的相反顺序,就是按照意外的随机顺序。 我试过把

<块引用>

sorted(marks_name(key=lambda mn:mn[0], reverse = True))

但是它也不起作用,我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

您将标记视为一个字符串,当您尝试对其进行排序时,它会按字母顺序排序。标记为 int

marks = int(input("Insert your marks: "))
相关问题