所以我刚刚开始使用python的类部分,并且我已经构建了一个我的教科书要求我编写的类和主程序。它看起来不错,但我一直收到一个错误,说我的班级没有这个特定的属性,这很奇怪,因为它应该。现在这只是一个简单的Rectangle,找到周边和区域程序。所以这不是太复杂。但也许你们可以看到我做不到的东西。
这是我班级的样子:
class Rectangle:
def __init__(self, length = 1, width = 1):
self.length = length
self.width = width
def setWidth(self, width):
self.width = width
def setLength(self, length):
self.length = length
def getPerimeter(self):
return (2 * self.length) + (2 * self.width)
def getArea(self):
return self.length * self.width
这是实际的主程序
from Rectangle import Rectangle
recWidth = eval(input("Enter the length of the rectangle: "))
recLength = eval(input("Enter the width of the rectangle: "))
x = Rectangle()
y = Rectangle()
x.width(recWidth)
x.length(recLength)
print("The perimeter of a rectangle with a width of", recWidth,
" units and a length of ", recLength, " units is ", x.getPerimeter(), ".")
谢谢,我希望我提供了足够的信息来帮助制定有效的问题。
答案 0 :(得分:2)
当你只是变量时,你试图用2个参数(x和recWidth / recLength)调用方法width
和length
。你或者打算这样做:
x.width # get the width of the Rectangle
x.length # get the height of the Rectangle
OR
x.setWidth(recWidth) # set the width of the Rectangle
x.setLength(recLength) # set the height of the Rectangle