我不确定如何首先纠正这个缺少所需位置参数的问题,但在此之后,我将尝试为n,s,x和y设置可更改的默认值。如果这个问题看起来很愚蠢,我道歉,但我是个新手,感谢大家的帮助。
import math
class RegularPolygon:
def __init__(self, n, s, x, y):
self.n = 3
self.side = 1
self.x = 0
self.y = 0
def getN(self, n):
self.n = n
return self.n
def getSide(self, s):
self.side = s
return self.side
def getX(self, x):
self.x = x
return self.x
def getY(self, y):
self.y = y
return self.y
def getPerimeter(self, n , s):
self.perimeter = n * s
return self.perimeter
def getArea(self, n, s):
self.area = (n * math.pow(s, 2)) / ( 4 * math.tan(math.pi / n))
return self.area错误:
Traceback (most recent call last):
File "C:\Pythonstuff\Ch.7\chapter07_unittests.py", line 7, in setUp
self.poly1 = RegularPolygon()
TypeError: __init__() missing 4 required positional arguments: 'n', 's', 'x', and 'y'发布于 2014-11-03 04:52:20
创建RegularPolygon对象时需要传值:
c = RegularPolygon(100, 100, 100, 100)你现在可能在写:
c = RegularPolygon()在这个类中有四个位置参数,你现在没有传递任何参数。由于这些参数都没有默认值,因此它们都是必需的,因此在本例中只需要指定四个值。
https://stackoverflow.com/questions/26704208
复制相似问题