Результаты игры в гольф: Отображение значений связанного списка в Python (для начинающих)

#python

#питон

Вопрос:

Вот мой код с комментариями. Я пытаюсь выяснить, как правильно сопоставить имя победившего игрока в гольф с их счетом, и отобразить имя игрока в выводе вместе с выигрышным счетом.

 def main(): #define the main function  golferNames = [] #create empty list for golferNames  golferScores = [] #create empty list for golferScores  golferCount = inputInfo(golferNames,golferScores) #call inputInfo function; pass lists  winner = displayReport(golferNames,golferScores) #call displayReport function; pass lists   #print winner's results  print('Winner is ',winner,'with score ',min(golferScores),'out of ',golferCount,'golfers.')   def inputInfo(golferNames,golferScores): #define inputInfo function  golferCount = 0 #assign starting value to golferCount  another = input('Are there any golfer cards to input? (y/n)')#establish starting loop   while another != 'n': #establish while loop condition  golferName = input('Enter name of golfer: ')  golferNames.append(golferName)  golferScore = int(input("Enter golfer's score: "))  golferScores.append(golferScore)  golferCount  = 1  another = input('Do you have more golfers to enter? (y/n)')  return golferCount    def displayReport(golferNames,golferScores): #define displayReport function  import datetime #import the datetime module  curDateTime = datetime.datetime.now() #assign datetime variable  #function goes the the golferNames list and scores lists and reads all golfers  #and their information one line at a time in a loop:  index = 0  for golfer in golferNames:   #maintain a total of the scores and keep track of lowest score so far AND  #display each golfer score as a row in a table to the screen using print/format  print('SPRINGFORK AMATUER GOLF CLUB')  print('TOURNAMENT DATE: ', curDateTime)  print('GOLFER NAME', 'SCORE')  print('--------------------', '-----')  for golfer in golferNames:  print(golferNames[index],golferScores[index])  index  = 1   main() #call the main function  

Комментарии:

1. winningScore, winningName = *sorted(list(zip(golferScores, golferNames)), key=lambda x: x[0])[0]

2. @LarrytheLlama ваша строка кода возвращает минимальный балл вместо выигрыша. Чинить: winningScore, winningName = *sorted(list(zip(golferScores, golferNames)), key=lambda x: x[0])[-1]

3. @YoavSheetrit упс — я действительно думал об этом, я просто забыл. Моя вина.