简简单单的用 Python 撸一个计算年龄的工具网页,不用对前端特别熟悉,只要专注于工具的逻辑,其他都交给 Python 吧。
1. 总体结构实现了 3 个功能
2. 正确地计算年龄
输入 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
3. 警告日期格式有问题
日期格式不正确,比如为 2000/01/01
# 检查日期格式
try:
val = datetime.strptime(B, "%Y-%m-%d")
except:
# 如果格式错误,警告提示
put_error("警告:日期格式不正确")
time.sleep(3)
continue
4. 输入日期比现在时间大
比如为 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]}这个日期。")
5. 需要的第三方模块
我们只需要关注 python 代码,pywebio 会自动生成网页
6. 完整的代码
# 计算年龄
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("<p align=""left"">"
"<h4>年龄计算器</h4></p>")
# 输入生日日期
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(
"<h4>%s 岁</br>%s 个月</br>%s 天</h4>" % (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()
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/11556/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料
查 看2022高级编程视频教程免费获取