0

这是我的程序(一个非常简单的程序):

__author__="soham"
__date__ ="$Aug 12, 2012 4:28:51 PM$"

from math import sqrt

class Point:
    x = 0;
    y = 0;
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __eq__(self, other):
        return self.__dict__ == other.__dict__

    def get_dist(self, other):
        return sqrt(abs((self.x - other.x)^2 + (self.y - other.y)^2))

    def is_rect(self,other,another,yet_another):
        return (self.get_dist(other) == another.get_dist(yet_another)) and \
               (self.get_dist(another) == other.get_dist(yet_another)) and \
               (self.get_dist(yet_another) == other.get_dist(another))


a, b, c, d = Point(4,3),Point(4,9), Point(7,3), Point(7,9)

if a.is_rect(b,c,d):
    print "Rectangle."
else:
    print "No, not a rectangle!"

这返回没有。一个用 Java 编写的类似程序会返回预期的答案。

我对 Python很陌生。帮助!

4

1 回答 1

11

Python 中的求幂是**,不是^

^在 Python 中实际上是按位异或运算符

对于指数,您也可以pow(x,y)代替x**y.

于 2012-08-12T11:59:23.833 回答