
\begin{enumerate}
\item En mode console, on définit trois points par leurs coordonnées.

Dans la fonction \texttt{f(A,B,C)}, on a :
\begin{itemize}
\item $x = (x_B-x_A)^2+(y_B-y_A)^2 = (4-(-3))^2 +(5-(-1))^2 = 49+36=85$;
\item $y = (x_C-x_A)^2+(y_C-y_A)^2 = (10-(-3))^2 +(-2-(-1))^2 = 169+1=170$;
\item $z = (x_C-x_B)^2+(y_C-y_B)^2 = (10-4)^2 +(-2-5)^2 = 36+49=85$.
\end{itemize}

\begin{itemize}
\item Le test \og \texttt{x + y == z} \fg{} donne \og \texttt{85 + 170 == 85} \fg{} et renvoie \og \texttt{False} \fg.
\item Le test \og \texttt{x + z == y} \fg{} donne \og \texttt{85 + 85 == 170} \fg{} et renvoie \og \texttt{True} \fg{} car l'égalité est vraie.
\item Le test \og \texttt{y + z == x} \fg{} donne \og \texttt{170 + 85 == 85} \fg{} et renvoie \og \texttt{False} \fg{} car l'égalité est fausse.
\end{itemize}

Ainsi, le test : {\ttfamily (x + y == z) or (x + z == y) or (y + z == x) }

est équivalent au test: {\ttfamily False or True or False}

et renvoie \og \texttt{True} \fg{} car au moins un test est vrai.

\item Dans l'exemple précédent, on peut remarquer que $x$, $y$ et $z$ représentent respectivement les longueurs $AB^2$, $AC^2$ et $BC^2$.

Le test effectué vérifie donc si $AB^2+AC^2=BC^2$, ou si $AB^2+BC^2=AC^2$ ou si\linebreak $AC^2+BC^2 =AB^2$ et renvoie \og \texttt{True} \fg{} si tel est le cas.

Le rôle de la fonction Python est donc de vérifier si le triangle $ABC$ est rectangle.

\item Dans cette question, on souhaite modifier la fonction afin qu'elle affiche la nature du triangle ABC. Voici une proposition:
\begin{python}
def square(A,B,C):
    nature = 'Le triangle est'

    x = (B[0]-A[0])**2 + (B[1]-A[1])**2
    y = (C[0]-A[0])**2 + (C[1]-A[1])**2
    z = (C[0]-B[0])**2 + (C[1]-B[1])**2

    if (x + y == z) or (x + z == y) or (y + z == x):
        nature = nature + ' rectangle'

    if (x == y) and (x == z) and (y == z):
        nature  = nature + ' équilatéral'

    if (x == y) or (x == z) or (y == z):
        nature = nature + ' isocèle'

    if nature == 'Le triangle est':
        nature = nature + ' quelconque'

    return nature
\end{python}
\end{enumerate}
