如何通过在_init中获取用户输入来使用类计算矩形的面积__

2024-09-29 00:14:25 发布

您现在位置:Python中文网/ 问答频道 /正文

“”“ 正如你们所看到的,我试图用类找出矩形的面积,我想在其中接受用户输入,但第22行出现了一些错误 """ 从abc导入abc,abstractmethod#只是练习一下我今天学到的abstractmethod

class shape(ABC):
    @abstractmethod
    def printdetail(self):

        return 0
class Area(shape):
    def __init__(self,length,breadth):
        self.length = length
        self.breadth = breadth
    def printdetail(self):
        return self.breadth * self.length
    @classmethod
    def userinput(cls):
        length = int(input("enter a length")) #taking user input as length of rectangle
        breadth = int(input("enter a breadth "))#taking user input as breadth of rectangle
rect= Area.userinput()
ans=rect.printdetail()
print(ans)

“错误- ans=rect.printdetail() AttributeError:“非类型”对象没有属性“printdetail” “”“


Tags: rectselfinputreturndef错误arealength
1条回答
网友
1楼 · 发布于 2024-09-29 00:14:25

您的类方法正在获取输入,但从未创建要返回的Area实例

@classmethod
def userinput(cls):
    length = int(input("enter a length")) #taking user input as length of rectangle
    breadth = int(input("enter a breadth "))#taking user input as breadth of rectangle
    return cls(length, breadth)

相关问题 更多 >