Для решения задачи о нахождении лучшего результата среди трёх пловцов нам нужно составить программу, которая будет сравнивать время, затраченное каждым спортсменом на плавание, и выводить на экран наименьшее из них. Мы будем учитывать минуты и секунды, поэтому нужно правильно сравнивать время.
Давайте рассмотрим, как можно реализовать такое решение на примере языка Python:
def convert_to_seconds(minutes, seconds):
"""Преобразует время в минутах и секундах в общее количество секунд."""
return minutes * 60 + seconds
def find_best_result(times):
"""Находит лучший результат среди переданных временных промежутков."""
best_time = min(times, key=lambda x: convert_to_seconds(x[0], x[1]))
return best_time
def main():
# Ввод времени для трёх спортсменов
swimmer1_minutes = int(input("Введите количество минут для первого спортсмена: "))
swimmer1_seconds = int(input("Введите количество секунд для первого спортсмена: "))
swimmer2_minutes = int(input("Введите количество минут для второго спортсмена: "))
swimmer2_seconds = int(input("Введите количество секунд для второго спортсмена: "))
swimmer3_minutes = int(input("Введите количество минут для третьего спортсмена: "))
swimmer3_seconds = int(input("Введите количество секунд для третьего спортсмена: "))
# Список результатов в формате (минуты, секунды)
times = [
(swimmer1_minutes, swimmer1_seconds),
(swimmer2_minutes, swimmer2_seconds),
(swimmer3_minutes, swimmer3_seconds)
]
# Нахождение и вывод лучшего результата
best_result = find_best_result(times)
print(f"Лучший результат: {best_result[0]} минут {best_result[1]} секунд")
if __name__ == "__main__":
main()
Пояснение:
Функция convert_to_seconds
: Она преобразует время в минутах и секундах в общее количество секунд. Это позволяет упростить сравнение времен.
Функция find_best_result
: Эта функция принимает список временных промежутков (каждый из которых представлен кортежем: (минуты, секунды)
) и находит наименьшее значение, сравнивая полное количество секунд для каждого спортсмена.
Основная функция main
: Здесь программа запрашивает у пользователя ввод времени для каждого из трех спортсменов. Затем она создает список из этих временных данных и вызывает функцию find_best_result
для нахождения наилучшего результата.
Вывод результата: После нахождения лучшего времени программа выводит его в формате "минуты и секунды".
Этот подход позволяет легко масштабировать решение для большего количества спортсменов, добавляя их результаты в список times
.