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

Python二维数组员工信息管理代码输出异常求助

修正后的员工信息管理代码

原代码的核心问题

  • 循环嵌套逻辑错误:统计部门人数的循环被嵌套在打印单个员工字段的循环内,导致每打印一个字段就重复统计并输出一次部门人数,造成输出混乱。
  • 变量名拼写错误:Departement多写了一个e(应为Department),统计Accounts的变量Account和Accounts混用,导致计数失效。
  • 员工信息打印格式错误:每个字段打印后立即换行,导致一条员工信息被拆成三行显示。
  • 未实现部门输入验证:没有限制部门只能是Accounts、Admin、Sales,不符合需求。
  • 员工数量不符:原代码只处理4个员工,需求是10个。

修正后的完整代码

# 初始化员工信息存储的二维数组,10行3列(对应10名员工,3个字段)
emp_details = [[0 for _ in range(3)] for _ in range(10)]
# 初始化部门计数器
account_count = 0
admin_count = 0
sales_count = 0

# 输入10名员工信息
for i in range(10):
    emp_id = input(f"Enter the Employee ID for employee {i+1}: ")
    # 验证部门输入,确保只能是指定的三个选项
    while True:
        department = input(f"Enter the Department (Accounts/Admin/Sales) for employee {i+1}: ").strip()
        if department in ["Accounts", "Admin", "Sales"]:
            break
        print("Invalid department! Please enter Accounts, Admin, or Sales.")
    salary = int(input(f"Enter the Salary for employee {i+1}: "))
    # 将信息存入二维数组
    emp_details[i][0] = emp_id
    emp_details[i][1] = department
    emp_details[i][2] = salary
    # 实时统计部门人数
    if department == "Accounts":
        account_count += 1
    elif department == "Admin":
        admin_count += 1
    else:
        sales_count += 1

# 打印带列标题的所有员工信息
print("\nEmployee ID     Department     Salary")
print("---------------------------------------")
for emp in emp_details:
    # 格式化输出,确保各列对齐
    print(f"{emp[0]:<15} {emp[1]:<15} {emp[2]:<10}")

# 打印各部门员工数量
print("\n各部门员工数量统计:")
print(f"Accounts: {account_count} Employees")
print(f"Admin: {admin_count} Employees")
print(f"Sales: {sales_count} Employees")

代码说明

  1. 二维数组初始化:创建10行3列的数组,对应10名员工的ID、部门、薪资三个字段。
  2. 输入验证:通过while循环确保部门输入只能是指定的三个选项,避免无效数据。
  3. 实时统计部门人数:在输入每个员工信息时直接更新对应部门的计数器,无需后续再遍历数组统计,提升效率。
  4. 格式化输出:使用f-string的对齐格式(<表示左对齐),让员工信息的列对齐,可读性更强。
  5. 清晰的流程拆分:将输入、统计、打印三个环节分开,逻辑更清晰,避免循环嵌套混乱。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 05:10:39