微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

创建一个代表2D点的类

如何解决创建一个代表2D点的类

实现一个代表2D点的类(即,具有x和y位置的点),实现以下方法distanceFromOrigin():计算距离并将其返回到Point2D(0,0)。

#this code
#p = Point2D(3,4)
#print(p.distanceFromOrigin())
#shall produce the following output
#5.0

import math

class Point2D:  
  def disctanceFromOrigin():
    dist = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
    return dist

p = Point2D(3,4)
print(p.distanceFromOrigin())

有人可以告诉我为什么这不起作用吗? 它给了我TypeError:object()不带参数

解决方法

import math

class Point2D:  
  def __init__(self,x,y):
      self.x = x
      self.y = y

  def disctanceFromOrigin(self):
    origin = Point2D(0,0)
    dist = self.distanceFromPoint(self,origin)
    return dist
  
  def distanceFromPoint(self,point):
    return  math.sqrt((self.x - point.x)**2 + (self.y - point.y)**2


p = Point2D(3,4)
print(p.distanceFromOrigin())

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。