def calculate_credit(amount, years):
if amount < 10000: return "Отказ (Сумма)"
if amount > 1000000: return "Индивидуально (Сумма)"
if years > 10: return "Индивидуально (Срок)"
rate = 15
if 100001 <= amount <= 500000: rate -= 1
elif 500001 <= amount <= 1000000: rate -= 2
if 3 < years <= 5: rate += 1
elif 5 < years <= 10: rate += 2
return f"{rate}%"
def run_task_1():
print("ЗАДАНИЕ 1: ТЕСТИРОВАНИЕ ГРУПП СУММ И СРОКОВ")
amounts = [
(5000, "Меньше 10 000 руб."),
(50000, "От 10 000 до 100 000 руб."),
(250000, "От 100 001 до 500 000 руб."),
(750000, "От 500 001 до 1 000 000 руб."),
(1500000, "Более 1 000 001 руб.")
]
years = [(2, "до 3 лет"), (4, "3-5 лет"), (7, "5-10 лет"), (12, "более 10 лет")]
for am_val, am_text in amounts:
print(f"\nГРУППА: {am_text}")
print("-" * 50)
for yr_val, yr_text in years:
res = calculate_credit(am_val, yr_val)
print(f"Срок: {yr_text:12} (Данные: {yr_val:2}г.) | Итог: {res}")
if __name__ == "__main__":
run_task_1()
def calculate_osago(power, age, exp):
base = 1980
if power <= 50: k_p = 0.6
elif power <= 70: k_p = 1.0
elif power <= 100: k_p = 1.1
elif power <= 120: k_p = 1.2
elif power <= 150: k_p = 1.4
else: k_p = 1.6
if age <= 22: k_ae = 1.8 if exp <= 3 else 1.6
else: k_ae = 1.7 if exp <= 3 else 1.0
return round(base * k_p * k_ae, 2)
def run_task_3():
print("ЗАДАНИЕ 3: ПОЛНАЯ МАТРИЦА ОСАГО (ДАННЫЕ АВТО И ВОДИТЕЛЯ)")
powers = [
(45, "до 50 л.с."), (65, "51-70 л.с."), (90, "71-100 л.с."),
(110, "101-120 л.с."), (140, "121-150 л.с."), (160, "151+ л.с.")
]
# (Возраст, Стаж)
drivers = [(20, 2), (21, 5), (30, 2), (35, 10)]
for p_val, p_text in powers:
print(f"\nАВТОМОБИЛЬ: {p_text} ({p_val} л.с.)")
print("-" * 65)
for age, exp in drivers:
res = calculate_osago(p_val, age, exp)
print(f" Водитель: {age} лет, стаж {exp}г. | Стоимость: {res} руб.")
if __name__ == "__main__":
run_task_3()