我不確定如何首先解決缺少所需位置參數的這個問題,但在此之後,我嘗試爲n,s,x設置可更改的默認值,年。我很抱歉,如果這個問題似乎很愚蠢,但我是新的,並感謝任何和所有的幫助。我不知道如何包含所需的位置參數
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'
爲什麼所有'get'方法都會設置您的對象的屬性? – khelwood 2014-11-02 20:51:32
我不知道,我想知道同樣的事情。這些名稱是我需要從教師提供的測試儀中使用的名稱,以便它們匹配。 – Ethan 2014-11-02 20:55:04