Enfin…

Il suffit de modifier légérement la fonction toucher().

# NOUVEAU : la fonction est réécrite entièrement
# teste si on a touché les bords ou le corps
def touche() :
    # si la tête du serpent touche le bord 
    if (ligne <= 0) or (colonne <= 0) or (ligne >= hauteur-1) or (colonne >= largeur-1) :
        return True    # renvoyer VRAI (= on a perdu)
    # pour toutes les cases du serpent
    for z in serpent:
        if z == (ligne,colonne) : # si la case est au même endroit que la tête ...
            return True           #   ... renvoyer VRAI (= on a perdu)
    # si on arrive ici, c'est qu'il n'y a pas eu de problème
    return False       # renvoyer FAUX (= pas de problème)