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))
但是它也不起作用,我错过了什么吗?
答案 0 :(得分:1)
您将标记视为一个字符串,当您尝试对其进行排序时,它会按字母顺序排序。标记为 int
marks = int(input("Insert your marks: "))