def calculate_pension(base_salary, years_paid, average_index=1):
# 基础养老金
basic_pension = (base_salary*(1+0.04)**years_paid * (1 + average_index)) / 2 * years_paid * 0.01
# 个人账户养老金
individual_ratio = 0.08 # 假设个人缴费比例为8%
annual_interest_rate = 0.03 # 年利率为3%
individual_account_total = 0
total_pay=0
# 计算个人账户累计储存额(考虑复利)
for year in range(years_paid):
individual_account_total += base_salary*(1+0.04)**year* average_index * individual_ratio*12 * (1 + annual_interest_rate) ** (years_paid-year)
for year in range(years_paid):
total_pay += base_salary*(1+0.04)**year* average_index * (individual_ratio+0.12)*12 * (1 + 0.02) ** (years_paid-year)
# 计发月数(60岁退休为139个月)
months_to_pay = 139
individual_pension = individual_account_total / months_to_pay
# 总养老金
total_pension = basic_pension + individual_pension
return basic_pension, individual_pension, total_pension,total_pay
# 示例输入
base_salary = 11000 # 元/月
years_paid = 30 # 年
# 计算养老金
basic_pension, individual_pension, total_pension,total_pay = calculate_pension(base_salary=base_salary, years_paid=years_paid,average_index=3)
# 输出结果
print(f"基础养老金: {basic_pension:.2f} 元/月")
print(f"个人账户养老金: {individual_pension:.2f} 元/月")
print(f"总养老金: {total_pension:.2f} 元/月")
print(f"总缴费: {total_pay:.2f} 元")