Il est temps de faire une mise à jour

This commit is contained in:
Takanuva 2012-04-29 15:03:57 +02:00
parent cb788ca359
commit c6906747f1
12 changed files with 124 additions and 38 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -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()

View File

@ -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
View File

@ -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

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -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
View File

@ -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