def carateristique_duo_point(nom_point):
    #liste des combinaisons de 2 points
    duo_point = liste_combinaison(nom_point,2)
    #nature et noms des combinaisons de 2 points
    nom_duo_point = []
    nature_duo_point = []
    for i in range(len(duo_point)):
        temp = random.randrange(3)
        if temp == 0:
            nom_duo_point.append("(%s%s)" %(duo_point[i][0],duo_point[i][1]))
            nature_duo_point.append("une droite")
        elif temp == 1:
            nom_duo_point.append("[%s%s)" %(duo_point[i][0],duo_point[i][1]))
            nature_duo_point.append("une demi-droite")
        else:
            nom_duo_point.append("[%s%s]" %(duo_point[i][0],duo_point[i][1]))
            nature_duo_point.append("un segment")
    return (duo_point,nom_duo_point,nature_duo_point)
def caracteristique_sommet():
    #Nom
    choix = random.randrange(4)
    if choix == 0:
        nom_point = ["A","B","C","D","E"]
    if choix == 1:
        nom_point = ["D","A","B","C","E"]
    if choix == 2:
        nom_point = ["C","D","A","B","E"]
    if choix == 3:
        nom_point = ["B","C","D","A","E"]
    #Segment
    duo_point = liste_combinaison(nom_point[0:4],2)
    #Coordonnée
    coordonnee_point = []
    coordonnee_point.append([random.uniform(-4,-3),random.uniform(3,4)])
    coordonnee_point.append([random.uniform(-4,-3),random.uniform(-4,-3)])
    coordonnee_point.append([random.uniform(3,4),random.uniform(-4,-3)])
    coordonnee_point.append([random.uniform(3,4),random.uniform(3,4)])
    return (nom_point,duo_point,coordonnee_point)
def Appartient(parametre):
    ## ---Initialisation---
    question = u"Compléter en utilisant $\\in$ ou $\\notin$ :"
    exo = []
    cor = []
    ## ---Calcul des paramètres---
    nom_point = choix_points(5)
    coordonnee_point = coordonnees_points()
    #liste des combinaisons de 2 points
    duo_point = liste_combinaison(nom_point[0:4],2)
    #nature et noms des combinaisons de 2 points
    nom_duo_point = []
    nature_duo_point = []
    for i in range(len(duo_point)):
        nom_duo_point.append("(%s%s)" %(duo_point[i][0],duo_point[i][1]))
        nature_duo_point.append("une droite")
    choix_duo_point = len(duo_point)+1
    #
    diagonale = [[nom_point[0],nom_point[2]],[nom_point[1],nom_point[3]]]
    choix_diagonale = random.randrange(2)
    choix_type = random.randrange(5)
    ## ---Redaction---
    tex_figure(exo,nom_point,coordonnee_point,duo_point,nature_duo_point,choix_duo_point)
    tex_figure(cor,nom_point,coordonnee_point,duo_point,nature_duo_point,choix_duo_point)
    if choix_type== 0:
         exo.append("$$ %s \\ldots (%s%s) $$" %(diagonale[choix_diagonale][0],nom_point[4],diagonale[choix_diagonale][1]))
         cor.append("$$ %s \\boxed{\\in} (%s%s) $$" %(diagonale[choix_diagonale][0],nom_point[4],diagonale[choix_diagonale][1]))
    elif choix_type == 1:
         exo.append("$$ %s \\ldots [%s%s) $$" %(diagonale[choix_diagonale][0],nom_point[4],diagonale[choix_diagonale][1]))
         cor.append("$$ %s \\boxed{\\notin} [%s%s) $$" %(diagonale[choix_diagonale][0],nom_point[4],diagonale[choix_diagonale][1]))
    elif choix_type == 2:
         exo.append("$$ %s \\ldots [%s%s) $$" %(diagonale[choix_diagonale][0],diagonale[choix_diagonale][1],nom_point[4]))
         cor.append("$$ %s \\boxed{\\in} [%s%s) $$" %(diagonale[choix_diagonale][0],diagonale[choix_diagonale][1],nom_point[4]))
    elif choix_type == 3:
         exo.append("$$ %s \\ldots [%s%s] $$" %(diagonale[choix_diagonale][0],nom_point[4],diagonale[choix_diagonale][1]))
         cor.append("$$ %s \\boxed{\\notin} [%s%s] $$" %(diagonale[choix_diagonale][0],nom_point[4],diagonale[choix_diagonale][1]))
    else:
         exo.append("$$ %s \\ldots [%s%s] $$" %(nom_point[4],diagonale[choix_diagonale][0],diagonale[choix_diagonale][1]))
         cor.append("$$ %s \\boxed{\\in} [%s%s] $$" %(nom_point[4],diagonale[choix_diagonale][0],diagonale[choix_diagonale][1]))
    return (exo, cor, question)
def PythagoreTexte(parametre):
    ## ---Initialisation---
    question = u"Calculer la mesure du 3\\up{eme} côté :"
    exo = [ ]
    cor = [ ]
    ## ---Calcul des paramètres---
    #nom
    nom_sommet = choix_points(3)
    duo_sommet = liste_combinaison(nom_sommet, 2)
    #mesure
    couples_pythagore = trouve_couples_pythagore(parametre[0])
    mesure_corrige = couples_pythagore[random.randrange(len(couples_pythagore))]
    choix = random.randrange(3)
    mesure_sujet = []
    for i in range(len(mesure_corrige)):
        if i == choix:
            mesure_sujet.append("\\ldots")
        else:
            mesure_sujet.append(mesure_corrige[i])
    ## ---Redaction---
    exo.append("%s%s%s est un triangle rectangle \\newline" %(nom_sommet[0],nom_sommet[1],nom_sommet[2]))
    cor.append("%s%s%s est un triangle rectangle \\newline" %(nom_sommet[0],nom_sommet[1],nom_sommet[2]))
    exo.append(u"Son hypoténuse est [%s%s] \\newline" %(duo_sommet[2][0],duo_sommet[2][1]))
    cor.append(u"Son hypoténuse est [%s%s] \\newline" %(duo_sommet[2][0],duo_sommet[2][1]))
    exo.append("On sait que :")
    cor.append("On sait que :")
    exo.append("\\begin{itemize}")
    cor.append("\\begin{itemize}")
    for i in range(len(duo_sommet)):
        exo.append("\\item $%s%s=\\unit{%s}{cm}$" % (duo_sommet[i][0],duo_sommet[i][1],mesure_sujet[i]))
        if i == choix:
            cor.append("\\item $%s%s=\\boxed{\\unit{%s}{cm}}$" % (duo_sommet[i][0],duo_sommet[i][1],mesure_corrige[i]))
        else:
            cor.append("\\item $%s%s=\\unit{%s}{cm}$" % (duo_sommet[i][0],duo_sommet[i][1],mesure_corrige[i]))
    exo.append("\\end{itemize}")
    cor.append("\\end{itemize}")
    return (exo, cor, question)