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