Il est temps de faire une mise à jour
This commit is contained in:
parent
cb788ca359
commit
c6906747f1
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
69
agreg.py
69
agreg.py
@ -106,6 +106,28 @@ class Agreg():
|
||||
self.book += [bo]
|
||||
|
||||
# -------------------- Analyse
|
||||
# Enfin on compte le nombre de dev par leçon. Puis on fait la somme des min avec 2 et on divise par le nombre de dévelloppement
|
||||
|
||||
|
||||
def compte_dev(self):
|
||||
"""Crée un dictionnaire correspondant aux leçons
|
||||
dans le premier element on compte les devs possibles pour cette leçon
|
||||
dans le deuxième on ne compte que ceux qui sont sensé être connu
|
||||
|
||||
Arguments:
|
||||
- `self`:
|
||||
"""
|
||||
# Initialisation du dico des du nombre de dev par leçons
|
||||
self.nbr_dev_lecon = dict()
|
||||
for l in liste_lecon:
|
||||
self.nbr_dev_lecon[l] = [0,0]
|
||||
|
||||
for d in self.dev:
|
||||
for l in d.lecon:
|
||||
self.nbr_dev_lecon[int(l)][0] += 1
|
||||
|
||||
if d.connu:
|
||||
self.nbr_dev_lecon[int(l)][1] += 1
|
||||
|
||||
def nbr_dev(self):
|
||||
""" Calcul et trie le nombre de developpement par lecon et stock la liste dans lecon_nbr_dev
|
||||
@ -120,7 +142,7 @@ class Agreg():
|
||||
self.lecon_nbr_dev = sorted(self.lecon_nbr_dev, reverse=True, key=itemgetter(1))
|
||||
|
||||
def score_dev(self):
|
||||
""" Calcul le score/avancement dans nos lecons
|
||||
""" Calcul le score/avancement de l'elaboration des leçons et de leurs connaissance (théorique)
|
||||
|
||||
Arguments:
|
||||
- `self`:
|
||||
@ -128,13 +150,17 @@ class Agreg():
|
||||
|
||||
# Calcul du nombre de développement effectué (pas plus de 2 par lecon sinon c'est triché!)
|
||||
score = 0
|
||||
for l in self.lecon.values():
|
||||
score += min(2, len(l.dev))
|
||||
score_connu = 0
|
||||
|
||||
for n in self.nbr_dev_lecon.values():
|
||||
score += min(n[0],2)
|
||||
score_connu += min(n[1],2)
|
||||
|
||||
# Nombre total de développement nécessaire
|
||||
nbr_dev_tot = 2 * len(self.lecon)
|
||||
|
||||
self.score = score / nbr_dev_tot * 100
|
||||
self.score_connu = score_connu / nbr_dev_tot * 100
|
||||
|
||||
|
||||
|
||||
@ -142,15 +168,13 @@ class Agreg():
|
||||
|
||||
def print_analyse_dev(self):
|
||||
""" Affiche le nombre de developpement par lecon en ordre décroissant
|
||||
|
||||
Arguments:
|
||||
- `self`:
|
||||
"""
|
||||
# On calcul et trie le nombre de dev
|
||||
self.nbr_dev()
|
||||
self.compte_dev()
|
||||
|
||||
for i, n in self.lecon_nbr_dev:
|
||||
self.lecon[i].print_nbr_dev()
|
||||
self.print_nbr_dev()
|
||||
|
||||
self.score_dev()
|
||||
if self.score != 100:
|
||||
@ -158,6 +182,11 @@ class Agreg():
|
||||
else:
|
||||
print("\n Bien joué! Toutes les lecons au moins deux développements!")
|
||||
|
||||
if self.score_connu != 100:
|
||||
print("\n Courage! T'en connais déjà {score}% c'est déjà pas mal non?".format(score = self.score_connu))
|
||||
else:
|
||||
print("\n Bien joué! Toutes les lecons au moins deux développements! Et tu les connais!")
|
||||
|
||||
def print_lecon_from_int(self, num = 101):
|
||||
""" Écrit le nom des développements en relation avec la leçonà partir du numero de la lecon
|
||||
|
||||
@ -198,20 +227,22 @@ class Agreg():
|
||||
d.print_info()
|
||||
|
||||
|
||||
def print_nbr_dev(self):
|
||||
"""Affiche le nombre de dev et de dev connu pour les lecons"""
|
||||
print("Connue , Envisagée numero: nom")
|
||||
for l,n in self.nbr_dev_lecon.items():
|
||||
|
||||
color_defaut = "\033[00m"
|
||||
color_print = color_defaut
|
||||
if n[1] >= 2: # Chic j'ai deux dev pour cett lecon
|
||||
color_print = "\033[0,32m"
|
||||
if n[1] ==1: # Encore un de plus
|
||||
color_print = "\033[0,33m"
|
||||
|
||||
print(color_print + "{connu} , {envi} {num}: {nom}".format(connu = n[1] , envi = n[0] , num = l , nom=divers.dico_nom_lecon[str(l)]) + color_defaut )
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
# agreg = Agreg()
|
||||
# agreg.import_dev('/media/documents/Cours/Agreg/developpement/mes_dev/')
|
||||
# # agreg.analyse_dev()
|
||||
# # for num in dico_nom_lecon:
|
||||
# # agreg.print_lecon_dev(num)
|
||||
# agreg.extract_from_dev()
|
||||
# # agreg.print_analyse_dev()
|
||||
# agreg.print_lecon_dev(213)
|
||||
# agreg.print_lecon_dev(201)
|
||||
# agreg.print_lecon_dev(234)
|
||||
# agreg.print_lecon_dev(245)
|
||||
|
||||
# Pour analyser les options qu'on lui demande
|
||||
parser = optparse.OptionParser()
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Fichier configuration
|
||||
|
||||
lieu_dev = "developpements/"
|
||||
lieu_lecon = "lecons/"
|
||||
lieu_bouquin = "bouquins/"
|
||||
lieu_dev = "../developpement/mes_dev/"
|
||||
lieu_lecon = "../lecons/"
|
||||
lieu_bouquin = "../Bouquins/"
|
||||
|
61
dev.py
61
dev.py
@ -45,13 +45,21 @@ class Dev():
|
||||
# Extraction du nom du developpement
|
||||
self.nom = self.document.getElementsByTagName('dev')[0].getAttribute("nom")
|
||||
|
||||
# On vérifie s'il est sensé être connu
|
||||
self.connu = self.document.getElementsByTagName('dev')[0].getAttribute("connu")
|
||||
|
||||
# des lecons
|
||||
for lecon in self.document.getElementsByTagName('lecon'):
|
||||
self.lecon += [lecon.getAttribute("num")]
|
||||
|
||||
# des bouquins
|
||||
for book in self.document.getElementsByTagName('book'):
|
||||
self.book += [book.getAttribute("nom") , book.getAttribute("auth") , book.getAttribute("isbn") , book.getAttribute("pg")]
|
||||
self.add_book({"nom" : book.getAttribute("nom") ,"auth" : book.getAttribute("auth") ,"isbn" : book.getAttribute("isbn") ,"pg": book.getAttribute("pg")})
|
||||
|
||||
try:
|
||||
self.commentaire = self.document.getElementsByTagName('commentaire')[0].childNodes[0].nodeValue
|
||||
except:
|
||||
self.commentaire = ""
|
||||
|
||||
|
||||
# -------------------- Création et ajout d'information sur d'un développement
|
||||
@ -72,20 +80,20 @@ class Dev():
|
||||
|
||||
# print(self.document.toprettyxml())
|
||||
|
||||
def add_book(self, book = ["nom", "auth", "isbn", "pg"] ):
|
||||
def add_book(self, book = {"nom" : "", "auth" : "", "isbn" : "", "pg" : ""} ):
|
||||
""" Ajoute un bouquin en relation avec ce developpement
|
||||
|
||||
Arguments:
|
||||
- `self`:
|
||||
- `book`: sous la forme suivante ["nom", "auth", "isbn", "pg"]
|
||||
- `book`: sous la forme suivante {"nom" : "", "auth" : "", "isbn" : "", "pg" : ""}
|
||||
"""
|
||||
self.book += [book]
|
||||
|
||||
element = self.document.createElement("book")
|
||||
element.setAttribute("nom", book[0])
|
||||
element.setAttribute("auth", book[1])
|
||||
element.setAttribute("isbn", book[2])
|
||||
element.setAttribute("pg", book[3])
|
||||
element.setAttribute("nom", book["nom"])
|
||||
element.setAttribute("auth", book["auth"])
|
||||
element.setAttribute("isbn", book["isbn"])
|
||||
element.setAttribute("pg", book["pg"])
|
||||
|
||||
racine = self.document.getElementsByTagName('dev')[0]
|
||||
racine.appendChild(element)
|
||||
@ -110,6 +118,26 @@ class Dev():
|
||||
# print(self.document.toprettyxml())
|
||||
|
||||
|
||||
|
||||
def add_comment(self, comment):
|
||||
""" Ajoute un commentaire
|
||||
|
||||
Arguments:
|
||||
- `self`:
|
||||
- `comment`: le commentaire
|
||||
"""
|
||||
self.commentaire = comment
|
||||
|
||||
element = self.document.createElement("commentaire")
|
||||
com = self.document.createTextNode(comment)
|
||||
element.appendChild(com)
|
||||
|
||||
racine = self.document.getElementsByTagName('dev')[0]
|
||||
racine.appendChild(element)
|
||||
|
||||
# print(self.document.toprettyxml())
|
||||
|
||||
|
||||
# -------------------- Concernant le Prompt
|
||||
|
||||
def from_prompt(self):
|
||||
@ -135,6 +163,8 @@ class Dev():
|
||||
|
||||
self.prompt_add_lecon()
|
||||
|
||||
self.prompt_add_comment()
|
||||
|
||||
print("\n ---------- Voila fini! ----------\n ")
|
||||
|
||||
|
||||
@ -171,8 +201,14 @@ class Dev():
|
||||
print("page")
|
||||
pg = input()
|
||||
|
||||
self.add_book([nom , auth , ref , pg])
|
||||
self.add_book({"nom" : nom , "auth" : auth ,"isbn" : ref , "pg" : pg})
|
||||
|
||||
def prompt_add_comment(self):
|
||||
"""Prompt pour ajouter un commentaire"""
|
||||
print("\n ---------- Ajout d'un commentaire ---------- \n Attention il vaut mieux ne pas faire entrer... ")
|
||||
comment = input()
|
||||
|
||||
self.add_comment(comment)
|
||||
|
||||
# -------------------- Affichage
|
||||
|
||||
@ -183,14 +219,21 @@ class Dev():
|
||||
- `self`:
|
||||
"""
|
||||
print(" \n ---------- Informations sur :{nom} ".format(nom = self.nom))
|
||||
if self.connu:
|
||||
print("Ce développement est sensé être connu!")
|
||||
|
||||
print(" --- Leçons --- ")
|
||||
for l in self.lecon:
|
||||
lec = lecon.Lecon()
|
||||
lec.from_scratch(l)
|
||||
lec.print_nom()
|
||||
|
||||
# print(" --- Bouquins --- ")
|
||||
print(" --- Bouquins --- ")
|
||||
for b in self.book:
|
||||
print("{nom} -- {aut} -- {isbn} p{pg}".format(nom = b["nom"] , aut = b["auth"] , isbn = b["isbn"] , pg = b["pg"]))
|
||||
|
||||
print(" --- Commentaire --- ")
|
||||
print(self.commentaire)
|
||||
|
||||
# -------------------- Sauvegarde
|
||||
|
||||
|
@ -36,6 +36,8 @@
|
||||
146 Résultant. Applications
|
||||
148 Formes quadratiques réelles. Exemples et applications.
|
||||
149 Représentations des groupes finis de petit cardinal
|
||||
150 Racines d'un polynôme, fonctions symétriques, localisation des racines (cas réél et complexe)
|
||||
151 Extensions de corps. Exemples et applications.
|
||||
201 Espaces de fonctions. Exemples et applications.
|
||||
202 Exemples de parties denses et applications.
|
||||
203 Utilisation de la notion de compacité.
|
||||
|
5
notes
5
notes
@ -1,3 +1,4 @@
|
||||
* Dans Gourdon (et certainement Rouvière) regrader extrema lié
|
||||
* Verifier dans le Toulouse si test du khi2 passe pour Poisson-Binômiale
|
||||
* Verifier dans le Toulouse si test du khi2 passe pour Poisson-Binômiale et le théorème de Cochran (potentiel dev pour les formes quadratiques)
|
||||
* Jeter un coup d'oeil à la méthode du gradiant optimal
|
||||
* fonctions lipschitziennes dans le Brezis avec vocabulaire des distribs :D
|
||||
* thm de Wantzel en BU math 512.3 CAR
|
||||
|
Loading…
Reference in New Issue
Block a user