编程学习网 > 编程语言 > Python > Python编写小工具网页教程
2023
11-13

Python编写小工具网页教程

简简单单的用 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()

以上就是Python编写小工具网页教程的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取