简简单单的用 Python 撸一个计算年龄的工具网页,不用对前端特别熟悉,只要专注于工具的逻辑,其他都交给 Python 吧。
实现了 3 个功能
输入 2000-01-01
# 用户输入的生日
now = datetime.strptime(B, "%Y-%m-%d")
# 输出现在年龄
delta_y = rd(datetime.now(), now).years
delta_m = rd(datetime.now(), now).months
delta_d = rd(datetime.now(), now).days
日期格式不正确,比如为 2000/01/01
# 检查日期格式
try:
val = datetime.strptime(B, "%Y-%m-%d")
except:
# 如果格式错误,警告提示
put_error("警告:日期格式不正确")
time.sleep(3)
continue
比如为 2022-01-29,显示输入时间和现在时间,进行提示
# 日期比现在时间大
put_warning(
f"找不到结果,现在日期是"
f"{date[0]}-{date[1]}-{date[2]}, "
f"你不能使用"
f"{in_date[0]}-{in_date[1]}-"
f"{in_date[2]}这个日期。")
我们只需要关注 python 代码,pywebio 会自动生成网页
# 计算年龄
from dateutil.relativedelta import relativedelta as rd
# 获取时间、格式化时间
from datetime import datetime
# 用来延迟
import time
# 用来生成网页
from pywebio.input import *
from pywebio.output import *
while True:
clear() # 每次循环先清空所有数据
# 标题
put_html(""left"">"
"年龄计算器")
# 输入生日日期
B = input(
"",
placeholder="你的生日,格式为 yyyy-mm-dd"
)
# 检查日期格式
try:
val = datetime.strptime(B, "%Y-%m-%d")
except:
# 如果格式错误,警告提示
put_error("警告:日期格式不正确")
time.sleep(3)
continue
# 解析输入的日期
in_date = B.split('-')
# 获取现在时间
date = datetime.now().strftime("%Y-%m-%d")
# 解析现在的日期
date = date.split('-')
# 转化为数字列表
in_date = [int(i) for i in in_date]
date = [int(i) for i in date]
if in_date <= date:
# 用户输入的生日
now = datetime.strptime(B, "%Y-%m-%d")
# 输出现在年龄
delta_y = rd(datetime.now(), now).years
delta_m = rd(datetime.now(), now).months
delta_d = rd(datetime.now(), now).days
popup("你的年龄", [put_html(
"%s 岁
%s 个月
%s 天" % (delta_y, delta_m, delta_d)),
put_buttons(
['点击关闭'],
onclick=lambda
_: close_popup())],
implicit_close=True)
else:
# 日期比现在时间大
put_warning(
f"找不到结果,现在日期是"
f"{date[0]}-{date[1]}-{date[2]}, "
f"你不能使用"
f"{in_date[0]}-{in_date[1]}-"
f"{in_date[2]}这个日期。")
time.sleep(3)
clear()
全部0条评论
快来发表一下你的评论吧 !