29 lines
821 B
Python
29 lines
821 B
Python
from math import sqrt
|
|
|
|
|
|
class PointXY:
|
|
def __init__(self, x: int, y: int):
|
|
self.x = x
|
|
self.y = y
|
|
|
|
def distance_from_zero(self):
|
|
return sqrt(pow(self.x, 2) + pow(self.y, 2))
|
|
|
|
# Хотелось бы типизировать входной параметр p классом PointXY
|
|
# для исключения передачи некорректных данных на вход метода.
|
|
# Просьба объяснить возможно ли это и, если да, то как.
|
|
def distance_to(self, p):
|
|
return sqrt(pow((self.x - p.x), 2) + pow((self.y - p.y), 2))
|
|
|
|
|
|
def main():
|
|
p1 = PointXY(4, 3)
|
|
p2 = PointXY(9, 6)
|
|
p3 = PointXY(5, 3)
|
|
print(p1.distance_from_zero())
|
|
print(p2.distance_to(p3))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|