🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
PythonLib
Питон для всех
Вы решили посмотреть очень длинный стрим, запись лекции или прохождение игры. В плеере отображается время, которое вы уже посмотрели, и общая продолжительность видео. Ваша задача — написать программу, которая определит, какую долю от всего видео вы уже просмотрели, и представит эту долю в виде простой несократимой дроби.
Например, если вы посмотрели 2 часа 20 минут из 7 часов, это составляет 1/3 от всего видео.
Программа должна принимать на вход две строки, представляющие время в формате "ЧЧ:ММ:СС": первая строка — просмотренное время, вторая — общая продолжительность. Затем программа должна вычислить и вывести долю в виде списка из двух чисел [числитель, знаменатель] и сопроводить вывод понятным текстовым сообщением.
Важное ограничение: для нахождения наибольшего общего делителя и упрощения дроби нельзя использовать встроенные функции из библиотек (например, из библиотеки math). Вы должны реализовать алгоритм поиска самостоятельно, используя цикл for.
Просмотренное время (строка в формате "ЧЧ:ММ:СС")
Общая продолжительность видео (строка в формате "ЧЧ:ММ:СС")
Упрощенная дробь (список из двух целых чисел)
Поясняющее сообщение (строка)
02:20:00
07:00:00
Вы просмотрели 1/3 всего видео.
# Функция для преобразования времени в секунды
def time_to_seconds(time_str):
# Разделяем строку времени на часы, минуты, секунды
hours, minutes, seconds = map(int, time_str.split(':'))
# Преобразуем все в секунды
total_seconds = hours * 3600 + minutes * 60 + seconds
return total_seconds
# Функция для нахождения наибольшего общего делителя (НОД)
def find_gcd(a, b):
# Используем алгоритм Евклида
while b != 0:
a, b = b, a % b
return a
# Считываем время просмотра и общее время
watched_time = input()
total_time = input()
# Преобразуем время в секунды
watched_seconds = time_to_seconds(watched_time)
total_seconds = time_to_seconds(total_time)
# Вычисляем долю просмотренного времени в виде дроби
numerator = watched_seconds
denominator = total_seconds
# Находим НОД для сокращения дроби
gcd = find_gcd(numerator, denominator)
# Сокращаем дробь
numerator //= gcd
denominator //= gcd
# Выводим результат
print(f"Вы просмотрели {numerator}/{denominator} всего видео.")
🎉 Поздравляем! 🎉
Ты отлично справился с задачей! Это был непростой вызов, но ты нашёл правильное решение. Ты на шаг ближе к мастерству в программировании! Продолжай в том же духе, ведь каждый пройденный этап делает тебя ещё сильнее.
AD
Реклама
Запускаем ваш код...