def moyenne(tab):
    '''Renvoie la moyenne des entiers contenus dans tab ou 'erreur' si tab est un tableau vide...

    :: param tab(list)   :: un tableau vide ou un tableau d'entiers.
    :: return(float|str) :: soit la moyenne, soit 'erreur' si le tableau est vide
    
    '''
    if len(tab) == 0:
        return 'essai'
    else:
        somme = 0
        for i in range(len(tab)):
            somme = somme + tab[i]
        return somme / len(tab)
    
def moyenne_v2(tab):
    '''Renvoie la moyenne des entiers contenus dans tab ou 'erreur' si tab est un tableau vide...

    :: param tab(list)   :: un tableau vide ou un tableau d'entiers.
    :: return(float|str) :: soit la moyenne, soit 'erreur' si le tableau est vide
    
    '''
    if len(tab) == 0:
        return 'essai'
    else:
        somme = 0
        for v in tab:
            somme = somme + v
        return somme / len(tab)  


# VERSION PLUS EN ACCORD AVEC UN SEUL TYPE DE RETOUR

def moyenne_v3(tab:list) -> float:
    '''Renvoie la moyenne des entiers contenus dans tab non vide'''
    assert len(tab) == 0, 'erreur'
    somme = 0
    for v in tab:
        somme = somme + v
    return somme / len(tab) 
