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 rate
def run_task_1():
amounts = [
(5000, "Отказ"), (50000, "15%"), (250000, "14%"),
(750000, "13%"), (1500000, "Индивид")
]
years = [
(2, "+0%"), (4, "+1%"), (7, "+2%"), (12, "Индивид")
]
print("ЗАДАНИЕ 1: ПОЛНАЯ МАТРИЦА ТЕСТОВ (5x4=20)")
print("-" * 60)
for am_val, am_label in amounts:
print(f"Группа суммы: {am_label} ({am_val} руб.)")
for yr_val, yr_label in years:
res = calculate_credit(am_val, yr_val)
print(f" Срок {yr_label} ({yr_val} л) -> Итог: {res}")
print("-" * 30)
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():
powers = [
(40, "до 50"), (60, "51-70"), (90, "71-100"),
(110, "101-120"), (130, "121-150"), (170, "151+")
]
profiles = [
(20, 2, "Мол/Неоп"), (20, 5, "Мол/Опыт"),
(30, 2, "Взр/Неоп"), (30, 5, "Взр/Опыт")
]
print("ЗАДАНИЕ 3: ПОЛНАЯ МАТРИЦА ОСАГО (6x4=24)")
print("-" * 60)
for p_val, p_label in powers:
print(f"Мощность: {p_label} ({p_val} л.с.)")
for age, exp, prof_label in profiles:
res = calculate_osago(p_val, age, exp)
print(f" Профиль {prof_label} -> {res} руб.")
print("-" * 30)
if __name__ == "__main__":
run_task_3()