Как использовать результат работы одной функции в другой функции на Python3?

Необходимо написать функции для трех точек на плоскости, заданных координатами и найти: 1)расстояния между точками; 2)периметр треугольника, если его можно построить по заданным точкам; 3)площадь треугольника, если его можно построить по заданным точкам Я написал код, где сделал все условия, но мне необходимо использовать результат первой функции в двух остальных. Ниже оставляю код, но у меня не получается. Подскажите почему?

def distance(x1,x2,x3,y1,y2,y3): #функция расстояние между точками
    AB=0
    BC=0
    AC=0
    AB= (((x2-x1)**2)+((y2-y1)**2))**0.5
    BC= (((x3-x2)**2)+((y3-y2)**2))**0.5
    AC= (((x3-x1)**2)+((y3-y1)**2))**0.5
    return AB, BC, AC
def distance_perimetr(x1,x2,x3,y1,y2,y3): #функция для нахождения периметра
    s=distance(AB,BC,AC)
    l=max(s)
    if (l==AB and AB<AC+BC):
        P=AB+AC+BC
        return P
    if(l==BC and BC<AB+AC):
        P=AB+AC+BC
        return P
    if(l==AC and AC<BC+AB):
        P=AB+AC+BC
        return P
    else:
        return('Данные точки не образуют треугольник!')
def distance_ploshad(x1,x2,x3,y1,y2,y3): #функция для нахождения площади
    s=distance(AB,BC,AC)
    l=max(s)
    if (l==AB and AB<AC+BC):
        p = (AB+BC+AC)/2
        S=(p*(p-AB)*(p-BC)*(p-AC))**0.5
        return S
    if(l==BC and BC<AB+AC):
        p = (AB+BC+AC)/2
        S=(p*(p-AB)*(p-BC)*(p-AC))**0.5
        return s
    if(l==AC and AC<BC+AB):
        p = (AB+BC+AC)/2
        S=(p*(p-AB)*(p-BC)*(p-AC))**0.5
        return S
    else:
        return('Данные точки не образуют треугольник!')

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

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

Вы путаете входные и выходные параметры функций. Я так понимаю, вам нужно сделать так:

AB,BC,AC = distance(x1,x2,x3,y1,y2,y3)
^^^^^^^^            ^^^^^^^^^^^^^^^^^
выходные                 входные
\  параметры функции distance  /
→ Ссылка