geometry.py

来自「python的典型方法,对初学的python的人有一定的借鉴作用。」· Python 代码 · 共 36 行

PY
36
字号
from copy import deepcopy
class POINT(object):
    def __init__(self, x, y):
        self.x = x
        self.y = y
    def __repr__(self):
        return (self.x, self.y)
    def __str__(sefl):
        return "(%d, %d)" % (self.x, self.y)

class LINE(object):
    def __init__(self, p1, p2):
        self.p1 = deepcopy(p1)
        self.p2 = deepcopy(p2)

    def slope(self):
        if (self.p1.x == self.p2.x):
            return None
        return (self.p2.y - self.p1.y)/(float)(self.p2.x - self.p1.x)

    def __repr__(self):
        '''aX + bY = D'''
        dx = self.p2.x - self.p1.x
        dy = self.p2.y - self.p1.y
        
        D = self.p1.x*dy - self.p1.y*dx
        return "(%d)X + (%d)Y = %d" %( dy, -dx, D )

p1 = POINT(3, 4)
p2 = POINT(2, 0)
l = LINE(p1, p2)
print repr(l)
print l.slope()
        
        

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?