Длина трассы — 43872м, и зрители хотят узнать имя победителя.
Нам известны средние скорости трёх фаворитов – Пети, Васи и Толи. Помогите подвести итоги гонки.
Формат ввода
В первой строке записана средняя скорость Пети.
Во второй — Васи.
В третьей — Толи.
Формат вывода:
Имена победителей в порядке занятых мест.
Пример
Ввод
5
7
10
Вывод
1. Толя
2. Вася
3. Петя
Решение
Глобально существует три подхода к решению:
1) сравнивать всех со всем по очереди, и в зависимости от ситуации выводить список. Всего потребуется 6 списков – 18 print() и 6 операторов if/elif.
2) найти того, кто занял первое место и вывести его имя, затем найти того, кто занял второе место и, наконец, найти того, кто занял третье место. Всего потребуется 9 операторов if/elif и 9 print().
3) продвинутый вариант. отсортировать имена в соответствии со значениями скорости кажлого из игроков. В силу того, что игроков всего три, на это потребуется всего три сравнения. Итого 3 оператора if и 3 print().
Посмотреть код
petya = int(input())
vasya = int(input())
tolya = int(input())
if vasya > petya > tolya:
print('1. Вася')
print('2. Петя')
print('3. Толя')
elif vasya > tolya > petya:
print('1. Вася')
print('2. Толя')
print('3. Петя')
elif petya > vasya > tolya:
print('1. Петя')
print('2. Вася')
print('3. Толя')
elif petya > tolya > vasya:
print('1. Петя')
print('2. Толя')
print('3. Вася')
elif tolya > petya > vasya:
print('1. Толя')
print('2. Петя')
print('3. Вася')
elif tolya > vasya > petya:
print('1. Толя')
print('2. Вася')
print('3. Петя')
petya = int(input())
vasya = int(input())
tolya = int(input())
if vasya > petya and vasya > tolya:
print('1. Вася')
elif petya > vasya and petya > tolya:
print('1. Петя')
elif tolya > vasya and tolya > petya:
print('1. Толя')
if petya < vasya < tolya or petya > vasya > tolya:
print('2. Вася')
elif vasya < petya < tolya or vasya > petya > tolya:
print('2. Петя')
elif vasya < tolya < petya or vasya > tolya > petya:
print('2. Толя')
if vasya < petya and vasya < tolya:
print('3. Вася')
elif petya < vasya and petya < tolya:
print('3. Петя')
elif tolya < vasya and tolya < petya:
print('3. Толя')
name1 = 'Петя'
name2 = 'Вася'
name3 = 'Толя'
time1 = int(input())
time2 = int(input())
time3 = int(input())
if time1 < time2:
time1, time2 = time2, time1
name1, name2 = name2, name1
if time1 < time3:
time1, time3 = time3, time1
name1, name3 = name3, name1
if time2 < time3:
time2, time3 = time3, time2
name2, name3 = name3, name2
print('1.', name1)
print('2.', name2)
print('3.', name3)
сделал через max() min() по сути прокачав первый вариант
Petya = int(input())
Vasya = int(input())
Tolya = int(input())
mx = max(Petya, Vasya, Tolya)
mn = min(Petya, Vasya, Tolya)
if mx == Petya and mn == Tolya:
print(‘1. Петя\n2. Вася\n3. Толя’)
elif mx == Petya and mn == Vasya:
print(‘1. Петя\n2. Толя\n3. Вася’)
elif mx == Vasya and mn == Tolya:
print(‘1. Вася\n2. Петя\n3. Толя’)
elif mx == Vasya and mn == Petya:
print(‘1. Вася\n2. Толя\n3. Петя’)
elif mx == Tolya and mn == Petya:
print(‘1. Толя\n2. Вася\n3. Петя’)
elif mx == Tolya and mn == Vasya:
print(‘1. Толя\n2. Петя\n3. Вася’)