Загрузка данных


from datetime import datetime

def get_results(leader_time_str, runner_time_str):
    # 1. Проверяем, является ли участник лидером
    if runner_time_str == leader_time_str:
        print(f'Вы пробежали за {runner_time_str} и победили!')
        return

    # 2. Преобразуем строки в объекты datetime для расчётов
    time_format = '%H:%M:%S'
    leader_t = datetime.strptime(leader_time_str, time_format)
    runner_t = datetime.strptime(runner_time_str, time_format)

    # 3. Находим разницу. Результатом будет объект timedelta
    delta = runner_t - leader_t
    total_seconds = int(delta.total_seconds())

    # 4. Рассчитываем часы, минуты и секунды отставания
    hours = total_seconds // 3600
    minutes = (total_seconds % 3600) // 60
    seconds = total_seconds % 60

    # 5. Собираем строку отставания в формате Ч:ММ:СС
    # :02d гарантирует, что минуты и секунды будут с ведущим нулём
    delay_time = f'{hours}:{minutes:02d}:{seconds:02d}'

    # 6. Печатаем итоговое сообщение
    print(f'Вы пробежали за {runner_time_str} с отставанием от лидера {delay_time}')

# Проверка работы программы
get_results('02:02:02', '02:02:02')
get_results('02:02:02', '03:04:05

from decimal import Decimal, getcontext

# Устанавливаем точность в 3 значимых числа
getcontext().prec = 3

def get_monthly_payment(amount, months, percent):
    # Преобразуем входные данные в Decimal для точности
    amount = Decimal(str(amount))
    months = Decimal(str(months))
    percent = Decimal(str(percent))
    
    # 1. Делим сумму на количество месяцев
    base_payment = amount / months
    
    # 2. Увеличиваем ежемесячный платёж на оговоренный процент
    # Формула: база + (база * процент / 100)
    monthly_payment = base_payment + (base_payment * percent / 100)
    
    return monthly_payment

# Вызываем функцию с заданными параметрами: 
# 54 ВтК, 24 месяца, 9%
payment = get_monthly_payment(54, 24, 9)

# Распечатываем результат
# Используем форматирование :g для вывода 3 значимых чисел
print(f"Ежемесячный платёж: {payment:g} ВтК")