嗨! 大叔,什么时候退休?

先祝各位中秋快乐!!!接下我们吃瓜。娱乐至上!

纯属娱乐,没验证是否正确!

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,延迟退休可喜可贺!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值