dragov 发表于 2022-8-31 09:05:18

定义了2个类,就报错了 ?



要求:艺术团招生,在3岁至10岁之间的孩子

class Children():
    def __init__(self,name,age,district):
      self.name=name
      self.age=age
      self.district=district
class Art_group():
    def __init__(self):
      self.child=0
    def __str__(self):
      return f"招生:姓名{self.name},年龄{self.age},地区{self.district}"
    def add_children(self,item):
      if 3<self.age<=10 :
            self.child += 1
            print(f"已经招生了{self.child}人!")
      else :
            print("不满足招生条件!")
a=Children("完么智曲",6,"青海")
gyl=Art_group()
gyl.add_children(a)
print(gyl)

wp231957 发表于 2022-8-31 09:24:39

如果子类有自己的INIT那么不能直接调用父类的属性

傻眼貓咪 发表于 2022-8-31 10:03:49

class Child():
        def __init__(self, name, age, district):
                self.name = name
                self.age = age
                self.district = district

class Artist():
        def __init__(self):
                self.group = list()
       
        def __str__(self):
                detail = list()
                for each in self.group:
                        detail.append(f"姓名:{each.name} 年龄:{each.age} 地区:{each.district}")
                detail = '\n'.join(detail)
                return detail
       
        def add(self, child: Child):
                if 3 >= child.age > 10:
                        print("不满足招生条件!")
                else:
                        self.group.append(child)
                        print(f"已经招生了{len(self.group)}人!")

dragov = Child("完么智曲", 6, "青海")
artist = Artist()

artist.add(dragov)
print(artist)

陶远航 发表于 2022-8-31 15:03:19

学习一下
页: [1]
查看完整版本: 定义了2个类,就报错了 ?