Python返回意外答案

时间:2012-08-12 11:57:55

标签: python

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

__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!"

返回否。 A similar program written in Java会返回预期的答案。

我是非常新的到Python。救命啊!

1 个答案:

答案 0 :(得分:11)

Python中的指数为**,而不是^

Python中的

^实际上是bitwise xor operator

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