一周约占一年的 2%

Google AI Studio

好好珍惜当下、以及身边的人:

  • 我们对于时间可能毫无差距,他就这样在我们四周悄无声息的流逝

  • 当我们察觉到的时候,或许你我都老了、身边的人都老了


效果图

在这里插入图片描述

之前看 锋哥的周刊,看到与这一篇文章:一周是一年的2%

今天就突发奇想、略有感慨就用 Google AI Studio 简单帮写个 Pyhon 程序

需求是什么:知道一周约占一年 2%,那就粗鲁计算

  • 人的一生大概有多少周(预期寿命)
  • 当前为止你过了多少周,百分比显示

在这里插入图片描述

代码

链接直达:Google Al Studio

在这里插入图片描述

import tkinter as tk
from tkinter import ttk
import datetime
import re
import math

def calculate_percentage():
    try:
        birthdate_str = birthdate_entry.get()
        life_expectancy = int(life_expectancy_entry.get())

        # 使用正则表达式匹配日期格式 YYYYMMDD
        match = re.match(r'(\d{4})(\d{2})(\d{2})', birthdate_str)

        if not match:
            result_label.config(text="日期格式无效,请使用 YYYYMMDD 格式")
            return

        birth_year = int(match.group(1))
        birth_month = int(match.group(2))
        birth_day = int(match.group(3))

        birth_date = datetime.date(birth_year, birth_month, birth_day)
        today = datetime.date.today()

        # 计算活了多少天
        days_lived = (today - birth_date).days

        # 计算活了多少周
        weeks_lived = days_lived / 7
        weeks_lived_rounded = math.ceil(weeks_lived)  # 向上取整
        weeks_lived_str = str(weeks_lived_rounded)

        # 计算一生总共的周数
        total_weeks = life_expectancy * 52.1429
        total_weeks_rounded = math.ceil(total_weeks)  # 向上取整
        total_weeks_str = str(total_weeks_rounded)

        # 计算百分比
        percentage = (weeks_lived / total_weeks) * 100

        result_label.config(
            text=f"目前为止度过了: {weeks_lived_str} 周\n\n"
                 f"已经度过了 {percentage:.2f}% 的人生\n\n"
                 f"你大概有 {total_weeks_str} 周的寿命",
            justify='center'  # 居中文本
        )

    except ValueError:
        result_label.config(text="无效的输入,请检查预期寿命是否为数字!")
    except Exception as e:
        result_label.config(text=f"发生错误: {e}")

# 创建主窗口
root = tk.Tk()
root.title("人生进度计算器")
root.geometry("400x280")  # 调整窗口大小

# 创建标签和输入框
birthdate_label = ttk.Label(root, text="出生日期 (YYYYMMDD):")
birthdate_label.grid(row=0, column=0, padx=5, pady=5, sticky="w")
birthdate_entry = ttk.Entry(root, width=15)
birthdate_entry.grid(row=0, column=1, padx=5, pady=5, sticky="w")

life_expectancy_label = ttk.Label(root, text="预期寿命 (年):")
life_expectancy_label.grid(row=1, column=0, padx=5, pady=5, sticky="w")
life_expectancy_entry = ttk.Entry(root, width=15)
life_expectancy_entry.grid(row=1, column=1, padx=5, pady=5, sticky="w")

# 创建一个框架用于居中按钮和结果标签
center_frame = ttk.Frame(root)
center_frame.grid(row=2, column=0, columnspan=2, padx=5, pady=5)
center_frame.columnconfigure(0, weight=1)  # 让框架内的第一列占据额外空间

# 创建按钮
calculate_button = ttk.Button(center_frame, text="计算", command=calculate_percentage)
calculate_button.grid(row=0, column=0, padx=5, pady=5) # 按钮在框架中居中

# 绑定回车键
root.bind('<Return>', lambda event: calculate_button.invoke())

# 创建结果标签和预显示文本
result_label = ttk.Label(center_frame, text="目前为止度过了: - 周\n\n已经度过了 -% 的人生\n\n你大概有 - 周的寿命", justify='center') #Label 居中显示
result_label.grid(row=1, column=0, padx=5, pady=5) # 标签在框架中居中

# 启动主循环
root.mainloop()

Trae

在此之前,我直接把这篇文章扔给 Trae,让它给我用 Vue3 实现

因为我想内外网穿透部署

在这里插入图片描述

经过一番调试,最终结果是这样的

在这里插入图片描述

再使用 cpolar 内网穿透可以生成公网可访问的地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值