首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >员工管理语法错误

员工管理语法错误
EN

Stack Overflow用户
提问于 2021-11-30 21:02:44
回答 1查看 25关注 0票数 0

我正在为一个虚构的纸业公司创建一个部门员工列表的代码。我已经弄清楚了大部分代码,但我遇到了很多错误,我不是100%确定如何修复这些错误。我正在用python编写代码,并使用pycharm。建议/帮助将不胜感激:)

代码语言:javascript
运行
复制
class employee:
def __init__(self, name, age, position) -> None:
    """Initializes all employees with name, age, and position attributes"""
    self.name = name
    self.age = age
    self.position = position


def display_employees(listOfEmployees):
    """Displays all employees in the company"""
    print()
    print("Employees in Dunder Mifflin are: ")
    print()
    for item listOfEmployees:
        print(item.name + ",", str(item.age) + ",", item.position)

def allocate_department(listOfEmployees):
    """Sorts all employees to departments and returns a list of departments"""
    allocatedList = []
    managementList = []
    salesList = []
    accountantList = p[]
    for employee in listOfEmployees:
        if employee.position == "Manager" or   "Manager" in employee.position
            managementList.append(employee)
        elif employee.position == "Salesperson" or "Salesperson" in employee.position:
            salesList.append(employee)
        elif employee.position == "Accountant" or "Accountant" in employee.position:
            accountantList.append(employee)
        else:
            pass
    allocatedList.append(managementList)
    allocatedList.append(salesList)
    allocatedList.append(accountantList)
    return allocatedList


def display_department_employees(listOfDep):
    """Displays employees in their departments"""
print()
print("The individual employees in each department shown below:")
print("---------------------------------------")
print()
n = 1
    for dep in listOfDep:
        if n == 1:
        print("Management:")
        print("-----------")
        elif n==2:
        print("Salesperson:")
        print("-----------")
        else:
        print("Accountants")
        print("-----------")
    for emp1 in dep:
        print(emp1.name + ",", str(emp1.age) + ",", emp1.position)
    print()
    n += 1

def head_of_department(listOfDep):
    """Finds max age and then sets employee as head"""
    for dep in listOfDep:
        max = 0
        for emp1 in dep:
            if emp1.age > max:
                max = emp1.age
        for emp1 in dep:
            if max == emp1.age:
                emp1.position = "Head" + emp1.position


employeeList = ()
employeeList.append(employee("Michael", 45, "Manager"))
employeeList.append(employee("Dwight", 40, "Assistant to the Manager"))
employeeList.append(employee("Jim", 35, "Manager"))
employeeList.append(employee("Pam", 30, "Receptionist"))
employeeList.append(employee("Angela", 32, "Accountant"))
employeeList.append(employee("Kevin", 42, "Accountant"))
employeeList.append(employee("Stanley", 55, "Salesperson"))
employeeList.append(employee("Andy", 38, "Salesperson"))
employeeList.append(employee("Ryan", 30, "Salesperson"))
employeeList.append(employee("Creed", 55, "Salesperson"))

我确信我必须将一些表单listOfEmployees改为self,但是对于具体的第14行,pycharm在"listOfEmployees“下面给了我一条红线,所以我不确定该怎么做,因为它要求我创建一个参数或重命名引用,并且我确定我确实创建了一个参数?我不是1000%确定。这是为了课堂上的一个项目,我正在尽我最大的努力。感谢你们对这个T__T的耐心

EN

回答 1

Stack Overflow用户

发布于 2021-11-30 21:19:12

你的代码有很多缩进的问题。记住,Python对此非常挑剔。我主要需要修复缩进问题和一些可能只是打字错误的琐碎问题,因为您似乎理解底层代码。当您看到一条红线时,请尝试将其悬停在上方,看看Pycharm试图告诉您什么。你会犯很多这样的错误,所以学习如何使用你的工具来查找这些错误是值得的。

代码语言:javascript
运行
复制
class employee:
    def __init__(self, name, age, position) -> None:
        """Initializes all employees with name, age, and position attributes"""
        self.name = name
        self.age = age
        self.position = position
        
        
def display_employees(listOfEmployees):
    """Displays all employees in the company"""
    print()
    print("Employees in Dunder Mifflin are: ")
    print()
    for item in listOfEmployees:
        print(item.name + ",", str(item.age) + ",", item.position)
        
def allocate_department(listOfEmployees):
    """Sorts all employees to departments and returns a list of departments"""
    allocatedList = []
    managementList = []
    salesList = []
    accountantList = []
    for employee in listOfEmployees:
        if employee.position == "Manager" or   "Manager" in employee.position:
            managementList.append(employee)
        elif employee.position == "Salesperson" or "Salesperson" in employee.position:
            salesList.append(employee)
        elif employee.position == "Accountant" or "Accountant" in employee.position:
            accountantList.append(employee)
        else:
            pass
    allocatedList.append(managementList)
    allocatedList.append(salesList)
    allocatedList.append(accountantList)
    return allocatedList


def display_department_employees(listOfDep):
    """Displays employees in their departments"""
    print()
    print("The individual employees in each department shown below:")
    print("---------------------------------------")
    print()
    n = 1
    for dep in listOfDep:
        if n == 1:
            print("Management:")
            print("-----------")
        elif n==2:
            print("Salesperson:")
            print("-----------")
        else:
            print("Accountants")
            print("-----------")
    for emp1 in dep:
        print(emp1.name + ",", str(emp1.age) + ",", emp1.position)
    print()
    n += 1
    
def head_of_department(listOfDep):
    """Finds max age and then sets employee as head"""
    for dep in listOfDep:
        max = 0
        for emp1 in dep:
            if emp1.age > max:
                max = emp1.age
        for emp1 in dep:
            if max == emp1.age:
                emp1.position = "Head" + emp1.position
                
                
employeeList = []
employeeList.append(employee("Michael", 45, "Manager"))
employeeList.append(employee("Dwight", 40, "Assistant to the Manager"))
employeeList.append(employee("Jim", 35, "Manager"))
employeeList.append(employee("Pam", 30, "Receptionist"))
employeeList.append(employee("Angela", 32, "Accountant"))
employeeList.append(employee("Kevin", 42, "Accountant"))
employeeList.append(employee("Stanley", 55, "Salesperson"))
employeeList.append(employee("Andy", 38, "Salesperson"))
employeeList.append(employee("Ryan", 30, "Salesperson"))
employeeList.append(employee("Creed", 55, "Salesperson"))
display_employees(employeeList)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70176030

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档