TP7 : Correction
Exercice 7.1 – Gestion des fichiers
f = open('annuaire.csv', 'w')
f.write('linus;torvald;0654769899\n')
f.write('richard;stallman;0654231222\n')
f.write('rasmus;lerdorf;0677235412\n')
f.write('guido;van rossum;0668900127\n')
f.close()
f = open('annuaire.csv', 'r')
annuaire = {}
while 1 :
line = f.readline()
if (line == '') :
break
liste = line.split(';')
# On n'affiche pas les caractères \n en fin du numéro de téléphone
annuaire[(liste[0], liste[1])] = liste[2][0:10]
f.close()
print(annuaire)
def copier_fichier(fichier) :
try :
f = open(fichier, 'r')
except :
print('Le fichier spécifié n\'existe pas')
exit()try :
c = open(fichier + '.cpy', 'w')
except :
print('Impossible de créer le fichier', fichier, '.cpy')
exit()while 1 :
line = f.readline()
if (line == '') :
break
new_line = ''
i = 0
while (i < len(line)) :
if (line[i] == ' ') :
new_line += ' '
else :
new_line += line[i]
i += 1
c.write(new_line)
f.close()
c.close();fic = input('Entrez le nom du fichier à copier : ')
copier_fichier(fic)
Exercice 7.2 – Interface graphique
from tkinter import *fenetre = Tk()
text = Label(fenetre, text='Bonjour tout le monde !', fg='blue')
text.pack()
bouton = Button(fenetre, text='Quitter', command=fenetre.destroy)
bouton.pack()fenetre.mainloop()
from tkinter import *
from math import *def evaluer(event) :
chaine.configure(text = 'Résultat = ' + str(eval(entree.get())))fenetre = Tk()
entree = Entry(fenetre)
entree.bind('', evaluer)
chaine = Label(fenetre)
entree.pack()
chaine.pack()fenetre.mainloop()
from tkinter import *def evaluer(event) :
sig_liste = { 'noir' : 0, 'marron' : 1, 'rouge' : 2, 'orange' : 3, 'jaune' : 4 }
mult_list = { 'argent' : 0.01, 'jaune' : 0.1, 'noir' : 1 }
erreur_msg = 'Erreur :'
if not significatif_1.get() in sig_liste :
erreur_msg += ' 1er anneau'
if not significatif_2.get() in sig_liste :
erreur_msg += ' 2eme anneau'
if not multiplicateur.get() in sig_liste :
erreur_msg += ' 3eme anneau'
if (erreur_msg == 'Erreur :') :
resultat.configure(text = 'Résultat = ' + str((sig_liste[significatif_1.get()]*10+sig_liste[significatif_2.get()])*mult_list[multiplicateur.get()]))
else :
resultat.configure(text = erreur_msg)fenetre = Tk()
significatif_1 = Entry(fenetre)
significatif_1.bind('', evaluer)
significatif_2 = Entry(fenetre)
significatif_2.bind('', evaluer)
multiplicateur = Entry(fenetre)
multiplicateur.bind('', evaluer)
resultat = Label(fenetre)
significatif_1.pack()
significatif_2.pack()
multiplicateur.pack()
resultat.pack()fenetre.mainloop()




