Объясните, почему код не работает
Дана задача:
Вновь велогонщики собрались узнать, кто из них быстрее. Им предстоит пройти трассу длиной 43872м, и нам нужно вновь определить победителя.
На этот раз нам известны средние скорости трёх фаворитов — Пети, Васи и Толи. Кто из них пришёл к финишу первым?
Формат ввода: В первой строке записана средняя скорость Пети. Во второй — Васи. В третьей — Толи.
Формат вывода: Имя победителя гонки.
Примечание: Гарантируется, что победителем стал только один.
Написал к ней вот такой код на Python:
petya_speed = int(input())
vasya_speed = int(input())
tolya_speed = int(input())
max_speed = max(petya_speed, vasya_speed, tolya_speed)
def winner(speed):
match speed:
case 1 if speed == petya_speed: print('Петя')
case 2 if speed == vasya_speed: print('Вася')
case 3 if speed == tolya_speed: print('Толя')
print(winner(max_speed))
Однако он не работает и выводит None. Объясните, пожалуйста, в чем проблема?
Источник: Stack Overflow на русском