先祝各位中秋快乐!!!接下我们吃瓜。娱乐至上!
纯属娱乐,没验证是否正确!
2024年9月13日第十四届全国人民代表大会常务委员会第十一次会议通过关于实施渐进式延迟法定退休年龄的决定,我将规则给ChatGPT,让它写一个计算退休年龄的程序。
她啪啪很快写好,再说一次,纯属娱乐,没验证是否正确!
import tkinter as tk
from tkinter import ttk
from datetime import datetime
from dateutil.relativedelta import relativedelta
# 延迟退休计算规则
def calculate_retirement_date(birthdate, gender, original_retirement_age):
# 将输入的字符串转换为日期格式
birthdate = datetime.strptime(birthdate, "%Y%m%d")
# 根据性别确定延迟退休的规则
if gender == "male":
# 男性每4个月延迟1个月,目标延迟到63岁
delay_step = 4 # 每4个月延迟1个月
target_age = 63
elif gender == "female":
# 女性退休年龄分两种情况,按输入的原退休年龄区分
if original_retirement_age == 55:
delay_step = 4 # 每4个月延迟1个月,目标到58岁
target_age = 58
elif original_retirement_age == 50:
delay_step = 2 # 每2个月延迟1个月,目标到55岁
target_age = 55
else:
raise ValueError("女性的退休年龄只能是50或55岁")
# 计算原法定退休时间
retirement_date = birthdate + relativedelta(years=original_retirement_age)
# 从2025年1月1日开始逐步延迟
start_delay_date = datetime(2025, 1, 1)
if retirement_date < start_delay_date:
# 如果原退休日期早于2025年1月1日,不受延迟政策影响
return retirement_date.strftime("%Y-%m-%d")
# 计算从2025年1月1日到原退休日期的月数
months_between = (retirement_date.year - start_delay_date.year) * 12 + (retirement_date.month - start_delay_date.month)
# 每n个月延迟1个月
delay_months = months_between // delay_step
# 最多延迟到目标年龄
max_delay_years = target_age - original_retirement_age
max_delay_months = max_delay_years * 12
delay_months = min(delay_months, max_delay_months)
# 计算延迟后的退休日期
delayed_retirement_date = retirement_date + relativedelta(months=delay_months)
return delayed_retirement_date.strftime("%Y-%m-%d")
# GUI 创建
def calculate():
birthdate = entry_birthdate.get()
retirement_age = int(entry_retirement_age.get())
gender = gender_var.get()
if gender == 'male':
gender_text = '男性'
else:
gender_text = '女性'
try:
result = calculate_retirement_date(birthdate, gender, retirement_age)
label_result.config(text=f"性别: {gender_text}\n出生日期: {birthdate}\n退休年龄: {retirement_age}\n退休日期: {result}")
except ValueError as e:
label_result.config(text=f"错误: {e}")
# 创建主窗口
root = tk.Tk()
root.title("退休年龄计算器")
# 性别选择
gender_var = tk.StringVar(value='male')
label_gender = ttk.Label(root, text="选择性别:")
label_gender.pack(pady=5)
radio_male = ttk.Radiobutton(root, text="男性", variable=gender_var, value="male")
radio_female = ttk.Radiobutton(root, text="女性", variable=gender_var, value="female")
radio_male.pack()
radio_female.pack()
# 出生日期输入
label_birthdate = ttk.Label(root, text="输入出生日期 (格式: YYYYMMDD):")
label_birthdate.pack(pady=5)
entry_birthdate = ttk.Entry(root)
entry_birthdate.pack(pady=5)
# 退休年龄输入
label_retirement_age = ttk.Label(root, text="输入原法定退休年龄:")
label_retirement_age.pack(pady=5)
entry_retirement_age = ttk.Entry(root)
entry_retirement_age.pack(pady=5)
# 计算按钮
btn_calculate = ttk.Button(root, text="计算退休日期", command=calculate)
btn_calculate.pack(pady=10)
# 显示结果
label_result = ttk.Label(root, text="")
label_result.pack(pady=10)
# 启动 GUI 主循环
root.mainloop()
计算界面:
现在有狗屁通(GPT)根本不愿思考了,有AI,延迟退休可喜可贺!