class GeometricObject:
def __init__(self,color = 'green',filled='true'):
self.__color=color
self.__filled=filled
def getColor(self):
return self.__color
def setColor(self,color):
self.__color=color
def isFilled(self):
return self.__filled
def setFilled(self,filled):
self.__filled=filled
def __str__(self):
return "Color: " + self.__color + " Filled: " + str(self.__filled)
这是三角形类:
from GeometricObject import GeometricObject
class Triangle(GeometricObject):
def __int__(self,side1=1.0,side2=1.0,side3=1.0):
super().__init__()
self.__side1=side1
self.__side2=side2
self.__side3=side3
def getPerimeter(self):
return self.__side1 + self.__side2 + self.__side3
def __str__(self):
return super().__str__()+" side 1: "+str(self.__side1)+" side 2: "+str(self.__side2)+" side 3: "+str(self.__side3)
from triangle import Triangle
from GeometricObject import GeometricObject
def main():
side1=int(input("Enter first side: "))
side2=int(input("Enter second side: "))
side3=int(input("Enter third side: "))
t1=Triangle(side1,side2,side3)
print(t1.getColor())
print(t1.getPerimeter())
print(t1.__str__())
main()
在主函数中创建三角形对象t1时发生错误: init从1到3个位置参数中选取4个。。。
我知道类似的错误还有其他的帖子,但是如果你没有提供足够的论据的话,很多帖子都没有回答我的问题。
三角形的init函数被拼错为
__int__
:def __int__(self,side1=1.0,side2=1.0,side3=1.0):
更改为:
def __init__(self,side1=1.0,side2=1.0,side3=1.0):
对我有用!
您需要将
__int__
更改为__init__
,并且只通过super()
self
。为了回答你的第二个问题,这里有一个例子:
打印
"blue steve"
相关问题 更多 >
编程相关推荐