|
发表于 2023-9-13 20:26:46
|
显示全部楼层
本楼为最佳答案
这是因为在调用 get_area 方法时,你没有加上括号,导致它返回的是一个方法对象而不是方法的返回值。你需要在 print(A.get_area) 后面加上括号,即 print(A.get_area()) ,这样才能正确地输出长方形的面积。同时,在 set_length 和 set_width 方法中,你应该将输入的值赋给 self.length 和 self.width ,而不是将输入函数名赋给它们。正确的代码如下所示:
- class Rectangle:
- def __init__(self,length,width):
- self.length=length
- self.width=width
- def set_length(self):
- self.length=float(input("请输入长方形的长度:"))
- def set_width(self):
- self.width=float(input("请输入长方形的宽度"))
- def get_perimeter(self):
- if self.length and self.width:
- self.get_perimeter=2*(self.length+self.width)
- return self.get_perimeter
- else:
- print('长或宽未设置')
- def get_area(self):
- if self.length and self.width:
- self.get_area=self.length*self.width
- return self.get_area
- else:
- print('长或宽未设置')
-
- A=Rectangle(1,2)
- print(A.get_area())
复制代码 |
|