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 内网穿透可以生成公网可访问的地址。