问题来源:
2024年9月13日第十四届全国人民代表大会常务委员会第十一次会议批准《国务院关于渐进式延迟法定退休年龄的办法》,从2025年1月1日起,男职工和原法定退休年龄为五十五周岁的女职工,法定退休年龄每四个月延迟一个月,分别逐步延迟至六十三周岁和五十八周岁;原法定退休年龄为五十周岁的女职工,法定退休年龄每二个月延迟一个月,逐步延迟至五十五周岁。国家另有规定的,从其规定。
全国人民代表大会常务委员会关于实施渐进式延迟法定退休年龄的决定
参考代码:
# -*- coding: utf-8 -*-
# @Date : 2024/09/20
# @Author : idsl2008
# @File : retirement_age.py
from math import ceil
def retirement_age(y, m, age):
"""法定退休年龄计算器"""
n = 5 if age == 50 else 3 #根据原法定退休年龄确定最长延迟年数
s = '\n您的出生年月:%d年%d月\n您的原法定退休年龄:%d周岁\n' %(y, m, age)
if y < 2025-age: #2025年前退休,不延迟
delay = 0
elif y > 2039-age-n: #2039年后退休,延迟月数封顶
delay = n*12
else:
delay = ceil(((y+age-2025)*12+m)/(7-n)) #每二(四)个月延迟一个月
i, j = divmod(delay, 12) #将延迟月数转换成年月格式
s += '您的改革后法定退休年龄:'
#退休年龄整岁与否表述不同
s += '%d岁%d个月\n' %(i+age, j) if j else '%d岁\n' %(i+age)
p, q = divmod(delay+m, 12) #将退休月数转换成年月格式
s += '您的改革后退休时间:'
#退休时间含12月与否表述不同
s += '%d年%d月\n' %(y+p+age, q) if q else '%d年12月\n' %(y+p+age-1)
s += '您的延迟月数:%d个月' %delay
return s
y, m, age = map(int, input("请输入您的出生年份、出生月份、原法定退休年龄(以空格分开):").split())
print(retirement_age(y, m, age))
封装后成品:
下载链接:https://idsl2008.lanzn.com/iwG3i2af1oqj
密码:xmhz