【问题标题】:Constructing Rectangular with Python用 Python 构造矩形
【发布时间】:2020-02-09 09:25:35
【问题描述】:

有没有办法让 area() 引用 check()? 目前check()的代码在area()中是一样的。

class Rectangle:
    def __init__(self, x1, y1, x2, y2):
        self.x1 = x1
        self.x2 = x2
        self.y1 = y1
        self.y2 = y2

    def check(self): #Checking this rectangle 
        if abs(self.x1-self.x2) == 0 or abs(self.y1-self.y2)==0:
            return False
        else :
            return True

    def area(self): #Calculating width
        if abs(self.x1-self.x2) == 0 or abs(self.y1-self.y2)==0:
            return False
        else : 
            area = abs(self.x1-self.x2)*abs(self.y1-self.y2)
            return area

【问题讨论】:

  • if not self.check():?

标签: python class methods rectangles


【解决方案1】:

在您的 check(self) 方法中,您不需要任何 if 或 abs()。 你可以这样做:

def check(self):
    return self.x1 != self.x2 and self.y1 != self.y2

关于area(self) 方法,你可以这样做:

def area(self):
    if not self.check():
        return False
    else:
        return abs(self.x1-self.x2)*abs(self.y1-self.y2)

现在你的代码应该更干净了。

【讨论】:

    猜你喜欢
    • 2015-09-11
    • 1970-01-01
    • 1970-01-01
    • 2015-04-24
    • 1970-01-01
    • 1970-01-01
    • 2019-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多