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)