用python和c++编程

假设每栋房子可用长方形类来表示,其中包含房屋的楼栋号、层数、长、宽等属性成员,现请你编写一个程序来统计某个小区多栋房子(其中至少有3栋房子是相同户型和层数)的总占地面积和总建筑面积。要求:1) 不同户型房屋的属性通过生成对象时输入。2) 相同户型的房屋对象,可以练习使用拷贝构造函数,但楼栋号需要修改

class house():
    def __init__(self, code, layer, long, width):
        self.code = code
        self.layer = layer
        self.long = long
        self.width = width



def main():
    houselist={

    }
    while True:
        print("""请选择功能:\n1,添加新房子\n2,添加已存在房子\n3,统计面积\n4,退出""")
        a=input("请输入:")
        if a=='1':
            _=input("请输入房屋的楼栋号、层数、长、宽[用逗号隔开]").split(',')
            if len(_)!=4:
                print("输入错误")
            else:
                houselist[_[0]]=house(*_)
                print("添加成功")
        elif a=='2':
            print("已存在房屋",houselist.keys())
            _ = input("请输入存在房屋号和新房屋好号[用逗号隔开]").split(',')
            if len(_)==2:
                import copy
                houselist[_[1]] = copy.copy(houselist[_[0]])
                houselist[_[1]].code = _[1]
                print("添加成功")
            else:
                print("输入错误")
        elif a=='3':
            sum=0
            for i in houselist.values():
                sum+=eval(i.long)*eval(i.width)
            print(f"s={sum}")
        elif a=="4":
            break
        else:
            print("输入错误")





if __name__ == '__main__':
    main()