File: td_note_2009_rattrape.tex, line 37
N10 P10 gris corde N15 P15 rouge chandelier N8 P8 marron fer à cheval
File: td_note_2009_rattrape.tex, line 54
N3 P3 cuisine N19 P19 bureau N20 P20 salle à manger
File: td_note_2009_rattrape.tex, line 65
def convertit_fichier_en_matrice (fichier) : ...
File: td_note_2009_rattrape.tex, line 77
def convertit_matrice_en_dictionnaire (matrice) : ...
File: td_note_2009_rattrape.tex, line 89
def fusion_dictionnaire (dico1, dico2) :
File: td_note_2009_rattrape.tex, line 98
def convertit_dictionnaire_en_matrice (dico) :
File: td_note_2009_rattrape.tex, line 106
def convertit_matrice_en_fichier (mat, fichier) :
File: td_note_2009_rattrape.tex, line 114
def fusion_fichier (fichier1, fichier2, fichier_resultat) :
File: td_note_2009_rattrape.tex, line 122
def union_moins_intersection_fichier (fichier1, fichier2, fichier_resultat) :
, correction 2009
# coding: latin-1 # Question 1 def convertit_fichier_en_matrice (file): f = open (file, "r") l = f.readlines () f.close () mat = list() for s in l : l = s.strip ("\n\r").split ("\t") mat.append (l) return mat # Question 2 def convertit_matrice_en_dictionnaire (matrice) : d={} for line in matrice : d[line[0],line[1]] = line [2:] return d # Question 3 def fusion_dictionnaire (dico1, dico2) : dico={} for k in dico1 : if k in dico2 : dico[k] = dico1[k] + dico2[k] return dico # Question 4 def convertit_dictionnaire_en_matrice (dico) : m =[] for k,v in dico.iteritems () : line = list (k) + v m.append (line) return m # Question 5 def convertit_matrice_en_fichier (mat,nomfichier): f = open (nomfichier, "w") for line in mat : f.write ( "\t".join ( [ str (x) for x in line ] ) + "\n") f.close () # Question 6 def fusion_fichier (fichier1, fichier2, fichier_resultat) : matrice1 = convertit_fichier_en_matrice(fichier1) matrice2 = convertit_fichier_en_matrice(fichier2) dico1 = convertit_matrice_en_dictionnaire(matrice1) dico2 = convertit_matrice_en_dictionnaire(matrice2) dico = fusion_dictionnaire (dico1,dico2) matrice = convertit_dictionnaire_en_matrice(dico) convertit_matrice_en_fichier (matrice,fichier_resultat) fusion_fichier ( "td_note_2009_cluedo_1.txt", "td_note_2009_cluedo_2.txt", "cluedo.txt") # Question 7 def fusion_dictionnairebis (dico1,dico2) : l1=dico1.keys() l2=dico2.keys() dico={} for k in l1 : if k not in l2 : dico[k]=[] for k in l2 : if k not in l1 : dico[k]=[] return dico def union_moins_intersection_fichier (fichier1, fichier2, fichier_resultat): matrice1 = convertit_fichier_en_matrice(fichier1) matrice2 = convertit_fichier_en_matrice(fichier2) dico1 = convertit_matrice_en_dictionnaire(matrice1) dico2 = convertit_matrice_en_dictionnaire(matrice2) dico = fusion_dictionnairebis (dico1,dico2) matrice = convertit_dictionnaire_en_matrice(dico) convertit_matrice_en_fichier (matrice,fichier_resultat) union_moins_intersection_fichier ( "td_note_2009_cluedo_1.txt", "td_note_2009_cluedo_2.txt", "cluedo2.txt") # Question 8 """ Il suffit de fusionner les fichiers deux par deux en procédant par récurrence. On fusionne d'abord les deux premiers, puis on fusionne le troisième au résultat de la première fusion... """