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


def get_billing_status(balance, days_in_month):
    daily = 300 / days_in_month
    if balance < 0: return "Приостановка обслуживания"
    days_left = balance / daily
    if days_left <= 2: return "Второе предупреждение"
    if days_left <= 5: return "Первое предупреждение"
    return "Активен"

def run_task_2():
    print("ЗАДАНИЕ 2: ТАРИФ СОТОВОГО ОПЕРАТОРА")
    month_types = [
        ("Февраль", 28, 300/28),
        ("Апрель", 30, 300/30),
        ("Январь", 31, 300/31)
    ]
    
    for m_name, days, daily in month_types:
        border2 = round(daily * 2, 2)
        border5 = round(daily * 5, 2)
        print(f"\nМесяц: {m_name} ({days} дн). Списание: {round(daily, 2)} руб/день")
        print(f"Классы: Блок (<0), 2-е пред. (0-{border2}), 1-е пред. ({border2}-{border5}), ОК (>{border5})")
        print(f"Тесты: -1, 0, {border2}, {border2}+0.1, {border5}, {border5}+0.1")
        
        test_cases = [
            (-1, "Приостановка обслуживания"),
            (0, "Второе предупреждение"),
            (border2, "Второе предупреждение"),
            (border2 + 0.1, "Первое предупреждение"),
            (border5, "Первое предупреждение"),
            (border5 + 0.1, "Активен")
        ]
        for bal, exp in test_cases:
            res = get_billing_status(bal, days)
            print(f"  Баланс: {bal} | Итог: {res} | {'OK' if res == exp else 'FAIL'}")

if __name__ == "__main__":
    run_task_2()