Заменить значение словаря на максимальное значение

Всем доброго дня! Есть такая задача - написать программу, которая по данным протокола определяет победителя и призёров. Первая строка содержит число N — это общее количество строк протокола. Каждая из следующих N строк содержит записанные через пробел результат участника (целое неотрицательное число) и игровое имя.

То есть я решила сделать так - создать пустой словарь, если имени игрока в нем еще нет, то добавить его туда, а если оно там есть, то в случае если имеющиеся значение меньше введонного с клавиатуры - то заменить его. Например есть словарь record = {qwerty: 1234}, вводим новую строку протокола, проверяем что qwerty уже есть, и видим что новый балл уже 3275. как заменить значение 1234 на 3275 у игрока qwerty ?

N = int(input('Сколько записей вносится в протокол? '))
record = dict()
for i in range(1, N+1):
    entry = input(f'{i} запись: ')
    score, player = entry.split()
    score = int(score)
    if player not in record:
        record[player] = score
    else:
        record[player] = max(score) - # вот это надо как-то правильно выразить

print(record)

пробовала еще написать функцию, где сравниваю значение списка и словаря и присваиваю словарю максимальное? но получилось громостко и не все равно не работает.


Ответы (2 шт):

Автор решения: Mikhail Murunov

Можно просто сравнить значение score которое пришло для игрока, со значением из словаря через функцию max:

record[player] = max(score, record[player])

→ Ссылка
Автор решения: CrazyElf

Можно, кстати, воспользоваться методом get у словаря и тогда можно в одну строчку записать и без проверки, что такой ключ уже есть:

    record[player] = max(score, record.get(player, 0))
→ Ссылка