对象无法正常工作:属性错误
我完全被困住了,正在寻找指导。我正在创建自己版本的Sets类,将这个类命名为Set。我还创建了一个测试函数。在我进入并/减部分之前,一切都运行得很好。
选择 | 换行 | 行号
- def intersection(self,set2):
- self.inter=Set([])
- for i in self.elements:
- for j in set2.elements:
- if i == j:
- self.inter = self.inter.addElement(j)
- return self.inter
- def union(self,set2):
- self.un=Set([])
- for i in self.elements:
- self.un = self.un.addElement(i)
- for j in set2.elements:
- if i!=j:
- self.un = self.un.addElement(j)
- return self.un
- def subtract(self,set2):
- self.sub=Set([])
- for i in self.elements:
- self.sub= self.sub.addElement(i)
- for j in set2.elements:
- if i==j:
- self.sub= self.sub.deleteElement(i)
- return self.sub
现在,交叉口运行良好。我基本上是在遵循联合的模式,但当我管理它的时候...
选择 | 换行 | 行号
- Traceback (most recent call last):
- File "C:\Users\monty27\Desktop\Math Computing\setsMontgomery.py", line 87, in <module>
- main()
- File "C:\Users\monty27\Desktop\Math Computing\setsMontgomery.py", line 83, in main
- print "Union:", set1.union(set2)
- File "C:\Users\monty27\Desktop\Math Computing\setsMontgomery.py", line 39, in union
- self.un = self.un.addElement(j)
- AttributeError: 'list' object has no attribute 'addElement'
有什么想法吗?我已经在这方面做了很多工作,尝试只复制self.Element,然后逐字使用cross()代码,除了使if语句i!=j之外。它根本不起作用。