我应该得到一些投球手及其得分的投入。然后输出最高得分,最低得分和平均团队得分。我的代码无法正确对分数进行排序。
def myMax(list):
maxVal= -100000
maxIndex = -1
for i in range(len(list)):
if list[i] > maxVal:
maxVal = list[i]
maxIndex = i
nsList = []
while True:
temp = input("Enter Bowler and thier score by Name, Score ")
if(len(temp)==0):
break
split_list = temp.split(' ')
score=int(split_list[1])
nsList.append((split_list[0],score))
#end of loop
#print ("The high score is ", maxVal)
print(nsList)
print ("The high score is", (nsList[0]))
print ("Sorry" , nsList[-1], "has the lowest score")
答案 0 :(得分:0)
您可以按以下顺序对列表进行降序:
nsList.sort(key=lambda v : v[1], reverse=True)
将其放在构建for
的{{1}}循环之后,您会很好。您不需要nsList
函数。
顺便说一句,您应该在提示信息中明确输入的格式。您当前说:“按名称输入保龄球和他们的分数,分数”。这建议您在“名称”和“分数”之间放置一个逗号,但是您的代码需要在它们之间使用单个空格字符才能正常工作。或者,您可以增强输入解析代码,使其在输入时更加灵活。