You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python制作简易DTR(每日考勤记录)系统?新手求助

简易DTR系统实现方案

1. 扩展输入逻辑

先把你已实现的姓名输入,扩展为获取所有需要的信息:周一至周六的工作时长、时薪,注意将输入转换为数值类型(float)以便计算。

示例代码:

# 获取员工姓名
employee_name = input("请输入员工姓名:")

# 循环获取每日工作时长
daily_hours = []
work_days = ["周一", "周二", "周三", "周四", "周五", "周六"]
for day in work_days:
    # 输入转成浮点型,支持小数时长
    hour = float(input(f"请输入{day}的工作时长:"))
    daily_hours.append(hour)

# 获取时薪
hourly_wage = float(input("请输入员工时薪:"))

2. 核心计算逻辑

总工作时长直接用sum()方法对每日时长列表求和,总毛收入则是总时长乘以时薪。

示例代码:

# 计算总工作时长
total_work_hours = sum(daily_hours)

# 计算总毛收入
total_gross_income = total_work_hours * hourly_wage

3. 结果输出

把计算结果格式化输出,让信息展示更清晰:

示例代码:

print("\n=== 每日考勤记录汇总 ===")
print(f"员工姓名:{employee_name}")
# 保留两位小数,格式更规范
print(f"总工作时长:{total_work_hours:.2f} 小时")
print(f"总毛收入:{total_gross_income:.2f} 元")

完整整合代码

把以上部分组合起来就是完整程序,还可以加简单的输入验证(可选,防止用户输入非数字):

# 获取员工姓名
employee_name = input("请输入员工姓名:")

# 循环获取每日工作时长
daily_hours = []
work_days = ["周一", "周二", "周三", "周四", "周五", "周六"]
for day in work_days:
    while True:
        try:
            hour = float(input(f"请输入{day}的工作时长:"))
            daily_hours.append(hour)
            break
        except ValueError:
            print("请输入有效的数字!")

# 获取时薪(带验证)
while True:
    try:
        hourly_wage = float(input("请输入员工时薪:"))
        break
    except ValueError:
        print("请输入有效的数字!")

# 计算核心数据
total_work_hours = sum(daily_hours)
total_gross_income = total_work_hours * hourly_wage

# 输出结果
print("\n=== 每日考勤记录汇总 ===")
print(f"员工姓名:{employee_name}")
print(f"总工作时长:{total_work_hours:.2f} 小时")
print(f"总毛收入:{total_gross_income:.2f} 元")

你可以分步测试每一段代码,先确保输入逻辑正常,再验证计算和输出部分,这样更容易排查问题。

内容的提问来源于stack exchange,提问作者Kentrave Ang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 06:35:19