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

news2024/11/18 15:35:45

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2132977.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何绕过Cloudflare的403 禁止错误?

Cloudflare 的 403 错误与常规 HTTP 403 错误代码并无二致&#xff0c;都表示禁止访问。这通常意味着你没有权限访问该文档。然而&#xff0c;在使用 Cloudflare 的情况下&#xff0c;当你尝试网页抓取时&#xff0c;可能会遇到这种情况&#xff0c;因为它可能表明你的 IP 地址…

【练习10】链表相加

链接&#xff1a;链表相加(二)_牛客题霸_牛客网 (nowcoder.com) 分析&#xff1a; 算法原理是逆序高精度算法 逆序的原因是为了实现从低位&#xff08;个位&#xff09;开始相加。 public class Solution {//逆序链表public ListNode reverse(ListNode head){ListNode newHead …

尤雨溪推荐的拖拽插件,支持Vue2/Vue3 VueDraggablePlus

大家好,我是「前端实验室」爱分享的了不起~ 今天在网上看到尤雨溪推荐的这款拖拽组件,试了一下非常不错,这里推荐给大家。 说到拖拽工具库,非大名鼎鼎的的 Sortablejs 莫属。它是前端领域比较知名的,且功能强大的工具。但我们直接使用Sortablejs的情况很少,一般都是使用…

java项目之基于Spring Boot智能无人仓库管理源码(springboot+vue)

项目简介 智能无人仓库管理实现了以下功能&#xff1a; 基于Spring Boot智能无人仓库管理的主要使用者分为&#xff1a; 管理员的功能有&#xff1a;员工信息的查询管理&#xff0c;可以删除员工信息、修改员工信息、新增员工信息 &#x1f495;&#x1f495;作者&#xff1a…

容器镜像同步工具image-migrator

1 概述 image-migrator是一个用于容器镜像同步的可执行二进制命令行工具&#xff08;不依赖于docker命令&#xff09;&#xff0c;能够自动将基于Docker Registry v2镜像仓库&#xff08;registry、云厂商容器镜像服务、docker hub、Quay、Harbor &#xff09;中的镜像迁移到基…

MADE A PIE 之动态树形图

MADE A PIE api地址 他那个api里的代码可以直接拿过来用&#xff0c;只是他没有写怎么使用 使用时我发现如果节点太多会导致节点名称重叠&#xff0c;所以我在他这个基础之上加了一个放大缩小和随意拖动&#xff08;dragstart&#xff0c;dragend&#xff0c;flTop&#xff0…

收银员权限-收银系统源码

收银系统对于门店来说是收银员每天日常高频使用的软件工具&#xff0c;但很多门店老板不想给收银员开放很多权限&#xff0c;如商品改价、订单打折、会员充值、订单退款等都需要门店给其开通权限或者有权限码才能操作。 1. 收银员交接班 收银系统要支持交接班&#xff0c;收银…

OJ题——迷宫问题

&#x1f36c;个人主页&#xff1a;Yanni.— &#x1f308;数据结构&#xff1a;Data Structure.​​​​​​ &#x1f382;C语言笔记&#xff1a;C Language Notes &#x1f3c0;OJ题分享&#xff1a; Topic Sharing 前言&#xff1a; 在笔试或者竞赛的过程中&#xff0c;经…

剖析 MySQL 数据库连接池(C++版)

目录 ☀️0. 前言 &#x1f324;️1. 数据库连接池概述 ⛅1.1 服务器与数据库交互 ⛅1.2 MySQL 数据库网络模型 ⛅1.3 MySQL 连接驱动安装 ⛅1.4 同步&#xff08;synchronous&#xff09;连接池与异步&#xff08;asynchronous&#xff09;连接池 ⛅1.5 同步连接池和异…

Spring 循环依赖原理及解决方案

一、什么是循环依赖 循环依赖指的是一个实例或多个实例存在相互依赖的关系&#xff08;类之间循环嵌套引用&#xff09;。 举例&#xff1a; Component public class AService {// A中注入了BAutowiredprivate BService bService; }Component public class BService {// B中也…

通信工程学习:什么是PC永久连接、SPC软永久连接

一、PC永久连接 PC&#xff08;Permanent Connection&#xff09;永久连接是一种由网管系统通过网管协议建立的长期稳定的连接方式。在ASON&#xff08;自动交换光网络&#xff09;中&#xff0c;PC永久连接沿袭了传统光网络的连接建立形式&#xff0c;其特点主要包括&#xff…

【Canvas与密铺】正六边形、正方形和正三角形的密铺

【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>正六边形正方形和正三角形的密铺1920x1080</title><style t…

SpringSecurity原理解析(四):SpringSecurity初始化过程

1、对 SpringSecurity初始化时的几个疑问 通过对前边一个请求流转的分析&#xff0c;我们知道一个请求要想到达服务端Servlet需要经过n多个 拦截器处理&#xff0c;请求处理流程如下所示&#xff1a; 对于一个请求到来后会通过FilterChainProxy来匹配一个对应的过滤器链来处理该…

PEST分析法包括哪些内容?用在线白板工具轻松绘制,简单好用!

在当今瞬息万变的商业环境中&#xff0c;企业需要一个全面而系统的方法来分析外部环境对其经营的影响。PEST分析模型恰好提供了这样一个强大的工具&#xff0c;帮助企业洞察政治、经济、社会和技术因素对其发展的潜在影响。 然而&#xff0c;如何高效地创建PEST分析模型一直是…

Unity 第一人称游戏的武器被其他物体覆盖解决方案

在第一人称游戏的时候&#xff0c;会出现渲染过程中&#xff0c;主角的手持武器可能会被其他物体挡住。 解决方法 在主摄像机下再创建一个摄像机&#xff0c;负责渲染不同图层 Main Camera的参数&#xff1a;我们这个摄像机不渲染equipable层&#xff08;自定义武器为equipab…

前后端分离项目实现SSE

SSE介绍 在日常web开发中经常会遇到查看数据最新状态的业务场景&#xff0c;例如查看任务状态与日志内容等。比较场景的解决方案是轮循和SSE。 Server-Sent Events (SSE) 是一种允许服务器通过单向通道向客户端推送更新的技术。它基于HTTP协议&#xff0c;客户端使用一个标准…

2024CCPC网络预选赛

vp链接&#xff1a;Dashboard - The 2024 CCPC Online Contest - Codeforces B. 军训 II 序列 a 从小到大排列或者从大到小排列时&#xff0c;不整齐度是最小的。方案数是所有相同数字的个数的排列数的乘积。如果首尾的数字不同的话&#xff0c;还要再乘个 2。 #include <…

Running setup.py install for wxPython did not run successfully.

Running setup.py install for wxPython did not run successfully. 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身&#xff0c;就职于医疗科技公司&#xff0c;热衷分享知识&#xff0c;武汉城市开…

axure循环介绍

一直在犹豫要不要写关于axure循环方面的介绍&#xff0c;因为循环的场景用其它方法都是可以实现的&#xff0c;今天还是用上次手机号码判断的案例来写一下循坏吧。 1、页面新建元件&#xff0c;手机号码输入框重命名为【手机号码输入框】按钮重命名为【按钮】再在页面拖动上来一…

python学习第八节:爬虫的初级理解

python学习第八节&#xff1a;爬虫的初级理解 爬虫说明&#xff1a;爬虫准备工作&#xff1a;分析网站url分析网页内容 爬虫获取数据&#xff1a;1.使用urllib库发起一个get请求2.使用urllib库发起一个post请求3.网页超时处理4.简单反爬虫绕过5.获取响应参数6.完整请求代码 解析…