-1

そのため、クラスメソッドに問題があります。私が持っているすべての情報を投稿します。私は与えられた質問に関連する方法を書く必要があります。

import math
epsilon = 0.000001
class Point(object):
    def __init__(self, x, y):
        self._x = x
        self._y = y

    def __repr__(self):
        return "Point({0}, {1})".format(self._x, self._y)

最初の質問; 別のポイントオブジェクトpを引数として取り、2つのポイント間のユークリッド距離を返すdisttopointというメソッドを追加する必要があります。math.sqrtを使用できます。

テストケース:

abc = Point(1,2)
efg = Point(3,4)
abc.disttopoint(efg) ===> 2.8284271

2番目の質問; 別のポイントオブジェクトpを引数として取り、このポイントとpの間の距離がイプシロン(上記のクラススケルトンで定義)未満の場合はTrueを返し、それ以外の場合はFalseを返すisnearというメソッドを追加します。disttopointを使用します。

テストケース:

abc = Point(1,2)
efg = Point(1.00000000001, 2.0000000001)
abc.isnear(efg) ===> True

3番目の質問; 別のポイントオブジェクトpを引数として取り、このポイントを変更して、軟膏の古い値とpの値の合計になるようにするaddpointというメソッドを追加します。

テストケース;

abc = Point(1,2)
efg = Point(3,4)
abc.add_point(bar)
repr(abc) ==> "Point(4,6)
4

3 に答える 3

0
def dist_to_point(self, point):
      """ returns the euclidean distance between the instance and the point."""
      return math.sqrt(res)

変数「res」には何を含める必要がありますか?

乾杯

于 2012-04-15T11:46:13.167 に答える
0

ここであなたの問題は何ですか?

メソッドの作成に行き詰まっていますか?

Class Point(object):
  # make it part of the class as it will be used in it
  # and not in the module
  epsilon = 0.000001

  def __init__(self, x, y):
      self._x = x
      self._y = y

  def __repr__(self):
      return "Point({0}, {1})".format(self._x, self._y)

  def add_point(self, point):
      """ Sum the point values to the instance. """
      self._x += point._x
      self._y += point._y

  def dist_to_point(self, point):
      """ returns the euclidean distance between the instance and the point."""
      return math.sqrt(blablab)

  def is_near(self, point):
      """ returns True if the distance between this point and p is less than epsilon."""
      return self.dist_to_point(point) < self.epsilon

それはあなたを助けますか?

ジョルディ

于 2012-04-13T01:38:56.177 に答える
0
class Point(object):
    # __init__ and __repr__ methods
    # ...
    def disttopoint(self, other):
        # do something using self and other to calculate distance to point
        # result = distance to point
        return result

    def isnear(self, other):
        if (self.disttopoint(other) < epsilon):
            return True
        return False
于 2012-04-13T01:38:58.527 に答える