Построение Rect angular с Python - PullRequest
       5

Построение Rect angular с Python

0 голосов
/ 09 февраля 2020

Есть ли способ сделать area () ссылкой на check ()? В настоящее время коды проверки () одинаковы в области ().

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

1 Ответ

0 голосов
/ 10 февраля 2020

В вашем 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)

Теперь ваш код должен быть чище.

...