D. Список победителей

Длина трассы — 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().

Посмотреть код
Python
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. Петя')
Python
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. Толя')
Python
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)
Подписаться
Уведомить о
guest
1 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Артем
Артем
15.02.2024 22:07

сделал через 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. Вася’)

Последний раз редактировалось 9 месяцев назад Артем ем