# Exercice 3

# Typage 1
#def gagnant(score1:float, score2:float) -> str:
def gagnant(score1:int, score2:int) -> str:
    """ Prend en paramètre les scores des deux joueurs et retourne si le joueur 1 ou 2 est gagnant 
        ou s'il y a un ex æquo.
    """
    if score1 > score2:
        return "Joueur 1"
    elif score1 < score2:
        return "Joueur 2"
    else:
        return "ex æquo"

# Typage 2
from math import sqrt

#def distance(A:list, B:list) -> float :
def distance(A:tuple, B:tuple) -> float :
    """ Prend en paramètre 2 tuples de deux valeurs contenant les coordonnées (x, y) des points A et B
        et retourne la distance euclidienne entre ceux deux points
    """
    xA = A[0]
    yA = A[1]
    xB = B[0]
    yB = B[1]
    return sqrt((xB - xA)**2 + (yB - yA)**2)

# Typage 3

# def puissance(valeur:float, exposant:int) -> list:
def puissance(valeur:int, exposant:int) -> list:
    """ Retourne une liste contenant toutes les puissances de valeurs avec des exposants de 1 à exposant inclu.
    """
    l = []
    for i in range(1, exposant + 1):
        l.append(valeur**i)
return l