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

Python中创建ProductionWorkers类对象并实现用户输入与列表展示求助

解决方案

1. 完善类定义(适配常见的初步代码结构)

class Employee:
    def __init__(self, name, employee_id):
        self.name = name
        self.employee_id = employee_id

class ProductionWorkers(Employee):
    def __init__(self, name, employee_id, shift_number, hourly_pay_rate):
        super().__init__(name, employee_id)
        self.shift_number = shift_number  # 1=白班,2=夜班
        self.hourly_pay_rate = hourly_pay_rate

    # 封装对象信息,方便后续展示
    def to_dict(self):
        return {
            "姓名": self.name,
            "员工ID": self.employee_id,
            "班次": "白班" if self.shift_number == 1 else "夜班",
            "时薪": self.hourly_pay_rate
        }

2. 实现用户输入与对象创建

def get_valid_input(prompt, input_type, validator=None):
    while True:
        try:
            value = input_type(input(prompt))
            if validator and not validator(value):
                print("输入不符合要求,请重新输入")
                continue
            return value
        except ValueError:
            print(f"请输入有效的{input_type.__name__}类型数据")

def create_worker():
    name = input("请输入员工姓名:")
    employee_id = input("请输入员工ID:")
    shift_num = get_valid_input(
        "请输入班次(1=白班,2=夜班):",
        int,
        lambda x: x in (1,2)
    )
    hourly_rate = get_valid_input(
        "请输入时薪:",
        float,
        lambda x: x > 0
    )
    return ProductionWorkers(name, employee_id, shift_num, hourly_rate)

3. 收集数据并列表展示

def main():
    workers = []
    while True:
        worker = create_worker()
        workers.append(worker.to_dict())
        cont = input("是否继续添加员工?(y/n):").strip().lower()
        if cont != 'y':
            break
    
    # 打印列表形式的员工数据
    print("\n生产员工信息列表:")
    for i, info in enumerate(workers, 1):
        print(f"[{i}] {info}")

if __name__ == "__main__":
    main()

关键说明

  • 加入输入验证逻辑,避免无效输入导致程序崩溃
  • 用to_dict方法把对象属性转为字典,统一展示格式
  • 支持批量创建员工,最后以列表形式输出所有数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 02:22:05