从python类中添加和删除对象时出现问题

从python类中添加和删除对象时出现问题,python,oop,Python,Oop,请有人帮我修复代码,我想创建一个学校类和创建一个对象。之后,我想使用join函数添加学生(如果学生存在,它将不添加学生,并显示一条消息,如果不存在,它将添加学生),与leave函数相同(如果存在,它将从列表中删除)。最后,show_all函数将显示列表中的所有值。我认为代码的结构是错误的,所以请有人能帮助我吗 班级学校: 定义初始化(自): 打印(“类已打开!”) def加入(自我、学生): self.student=学生 如果self.student不在我的学校: 打印(self.stude

请有人帮我修复代码,我想创建一个学校类和创建一个对象。之后,我想使用join函数添加学生(如果学生存在,它将不添加学生,并显示一条消息,如果不存在,它将添加学生),与leave函数相同(如果存在,它将从列表中删除)。最后,show_all函数将显示列表中的所有值。我认为代码的结构是错误的,所以请有人能帮助我吗

班级学校:
定义初始化(自):
打印(“类已打开!”)
def加入(自我、学生):
self.student=学生
如果self.student不在我的学校:
打印(self.student+“是学校的新成员!”)
其他:
打印(“我们已经有“+self.student+”)
假期(自我):
如果我所在学校的self.student:
德尔·赛尔夫学生
其他:
打印(“无此类学生”)
def显示全部(自身):
印刷(我的学校)
#在类中创建新对象
我的学校
#如果不存在,则仅添加学员
我的学校。加入(“莎拉”)
#如果存在,请删除
我的学校。离开(“Noor”)
#显示所有列表

my_school.show_all()
您的代码有几个错误:

  • 当您调用
    join
    (一个错误的方法名称,因为它已经存在)时,您将学生重新分配给单个变量
  • 在leave you reference中,实例witch不可能,因为它不存在
  • 下面是一些代码:

    class School:
        
        def __init__(self):
            print("An instance of School was created!")
            self.students = []
    
        def join(self, student):
            if student not in self.students:
                self.students.append(student)
                print(student + " is a new member of the school!")
            else:
                print("We already have "+ student +".")
            
        def leave(self, student):
            if student in self.students:
                self.students.remove(student)
            else:
                print("No such student")
                
        def show_all(self):
            print(self.students)
    
    # create new object in class
    my_school = School() 
    
    # add the student if not in students
    my_school.join("Sarah")
    
    # delete the student if in the students list
    my_school.leave("Noor")
    
    # print the students
    my_school.show_all()
    

    这绝对不是好代码,但接近您想要实现的目标。

    请使用完整的错误回溯更新您的问题。