我正在使用Python编写一个用于模拟射影几何的程序,其中射影点的同余函数看起来相当复杂。(对于任何感兴趣的人,如果两个射影点都位于通过原点的单条直线上,则它们是同余的。)
class Point(object):
def __init__(self, a, b, c):
self.coords = [ a, b, c ]
def congruent(self, other):
ratio = 0
for i in range(3):
if self.coords[i] != 0 and other.coords[i] != 0:
if ratio is 0:
ratio = other.coords[i] / self.coords[i]
elif ratio != other.coords[i] / self.coords[i]:
return False
elif self.coords[i] != 0 or other.coords[i] != 0:
return False
return True
我是Python的新手,但我知道通常有一种“Pythonic”的方法可以完成所有事情。 有了这个想法,我应该怎么做才能让代码更易读呢?