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

これはnoを返します。Javaで書かれた同様のプログラムは、期待される答えを返します。

私はPythonを初めて使用します。ヘルプ!

4

1 に答える 1

11

Pythonでのべき乗は**、ではなく^です。

^Pythonでは、実際にはビット単位のxor演算子です。

指数については、pow(x,y)の代わりに行うこともできますx**y

于 2012-08-12T11:59:23.833 に答える