Основы геометрии | Python

Point объекты имеют атрибуты x y. Напишите функцию, вычисляющую расстояние между Point a и Point b. Тесты округляют ответы до 6 знаков после запятой. | CodeWars

Данную задачу я решил, но мой ввод подразумевает point = [x, y], а не point(x, y):

Само решение произвёл на координатной плоскости. Достаточно, используя знания о координатах, начертить прямоугольник, где отрезок AB - диагональ, которую мы найдём так: sqrt(so**2 + st**2) Где so и st стороны прямоугольника. Используем теорему пифагора.

Иллюстрация

Мой код:

from math import *
def distance_between_points(a, b):
    if a[0]>b[0]:
        storona_one = a[0]-b[0]
    else:
        storona_one = b[0]-a[0]
        
    if a[1]>b[1]:
        storona_two = a[1]-b[1]
    else:
        storona_two = b[1]-a[1]
        
    d = sqrt(storona_two**2+storona_one**2)

Задача, которую я не могу понять - изменить решение из формата массивов в формат ()

Тесты:

import codewars_test as test
from solution import distance_between_points
from preloaded import Point

@test.describe("Fixed Tests")
def fixed_tests():
    @test.it('Basic Test Cases')
    def basic_test_cases():
        test.assert_equals(distance_between_points(Point(3, 3), Point(3, 3)), 0)
        test.assert_equals(distance_between_points(Point(1, 6), Point(4, 2)), 5)
        test.assert_equals(round(distance_between_points(Point(-10.2, 12.5), Point(0.3, 14.7)), 6), 10.728001)

Ответы (1 шт):

Автор решения: n1tr0xs

Ввод в примере не point = (x, y), а Point(x, y) что совершенно разные записи: в первой создается кортеж, а во второй объект класса Point.
Вот проблема в том, что в классе Point обращение происходит не по индексу, а по переменной объекта: p = Point(1, 2); print(p.x, p.y)
Однако без кода класса трудно точно сказать как правильно получить x и y из переданного в функцию объекта.

→ Ссылка