Gros problème, je dois faire un répertoire téléphonique sur Python avec TKinter. Le programme doit être un répertoire téléphonique permettant d'ajouter, de rechercher par nom et prénom, et de rechercher par n° de tél un contact.... Pour ajouter, mon programme fonctionne, mais pas du tout pour les deux fonctions de rechercher !!! POuvez-vous m'aidez ?
Merci d'avance
#On importe la bibliotèhque tkinter from tkinter import * #On dit quelle interface on veut: Ici une fenêtre class Interface(Frame): """Fenêtre Principale."""
#On définis toutes les fonctions que l'on va utiliser et qui vont nous servir pour les commandes des bouttons(def...) def RechercheTel1(Nom,Prenom,Longueur) : y = entr2.get() x = entr1.get() n = Longueur i = 0 while i < n and (y!= prenom[i] or x!= nom[i]): i = i + 1 if i == n and x!= x : print("brake" ) break print(i) if i <= n-1: return(i) else : return (-30) def RechercheTel(): x = entr1.get() y = entr2.get() i = RechercheTel1(x,y,n) if i == -30 : print('Inconnu') else : print(tel[i]) def RechercheNP1(Tel,Longueur) : z = entr3.get() i = 0 n = Longueur while i < n and z!= tel[i]: i = i + 1 if i < n: return (i) else : return(-30) def RechercheNP(): z = entr3.get() i = RechercheNP1(z,n) if i == -30 : print('Inconnu') else : print(prenom[i]) print(nom[i]) def Ajouter(): x = entr1.get() y = entr2.get() z = entr3.get() liste = [] fichier = open("repertoire.txt", 'r') liste = fichier.readlines() l = len(liste) for i in range (0,l) : liste[i] = (liste[i].replace("\n", " " )) liste.append(x) liste.append(y) liste.append(z) print (liste) fichier = open("repertoire.txt", 'w') for terme in liste : fichier.write(str(terme)+"\n" ) fichier.close() liste = [] prenom = [] nom = [] tel = [] #remplissage du répertoire fichier = open("repertoire.txt", 'r') liste = fichier.readlines() l = len(liste) for i in range(0,l) : liste[i] = (liste[i].replace("\n","" )) i = 0 while i <= l-3 : prenom.append(liste[i]) nom.append(liste[i+1]) tel.append(liste[i+2]) i = i + 3 print (prenom) print (nom) print (tel) n = len(nom)
#Création et mise en place des labels Label(fenetre, text='Prenom : ',fg="black", bg="blue" ).grid(row=1,column=1, sticky=W) Label(fenetre, text='Nom : ',fg="black", bg="blue" ).grid(row=2,column=1, sticky=W) Label(fenetre, text='Telephone : ',fg="black", bg="blue" ).grid(row=3,column=1, sticky=W) #Création des Entrées x = StringVar() entr1 = Entry(fenetre, textvariable=x) x.set('') y = StringVar() entr2 = Entry(fenetre, textvariable=y) y.set('') z = StringVar() entr3 = Entry(fenetre, textvariable=z) z.set('') #Position des entrées entr1.grid(row=1,column=2) entr2.grid(row=2,column=2) entr3.grid(row=3,column=2) #Création, mise en place et on dit quelle commande définit précédemmant doit faire les Boutons Button(fenetre, text=' Rechercher Nom/Prénom ',command=RechercheNP).grid(row=4,column=0) Button(fenetre, text=' Recherche N° ',command=RechercheTel).grid(row=4,column=1) Button(fenetre, text=' Ajouter ',command=Ajouter).grid(row=4,column=2)
#Démarrage de la fenêtre #Et extincion de la fenêtre fenetre.mainloop() fenetre.destroy()
Marsh Posté le 19-12-2013 à 20:30:46
Bonsoir à tous,
Gros problème, je dois faire un répertoire téléphonique sur Python avec TKinter. Le programme doit être un répertoire téléphonique permettant d'ajouter, de rechercher par nom et prénom, et de rechercher par n° de tél un contact.... Pour ajouter, mon programme fonctionne, mais pas du tout pour les deux fonctions de rechercher !!! POuvez-vous m'aidez ?
Merci d'avance
#On importe la bibliotèhque tkinter
from tkinter import *
#On dit quelle interface on veut: Ici une fenêtre
class Interface(Frame):
"""Fenêtre Principale."""
#On définis toutes les fonctions que l'on va utiliser et qui vont nous servir pour les commandes des bouttons(def...)
def RechercheTel1(Nom,Prenom,Longueur) :
y = entr2.get()
x = entr1.get()
n = Longueur
i = 0
while i < n and (y!= prenom[i] or x!= nom[i]):
i = i + 1
if i == n and x!= x :
print("brake" )
break
print(i)
if i <= n-1:
return(i)
else :
return (-30)
def RechercheTel():
x = entr1.get()
y = entr2.get()
i = RechercheTel1(x,y,n)
if i == -30 :
print('Inconnu')
else :
print(tel[i])
def RechercheNP1(Tel,Longueur) :
z = entr3.get()
i = 0
n = Longueur
while i < n and z!= tel[i]:
i = i + 1
if i < n:
return (i)
else :
return(-30)
def RechercheNP():
z = entr3.get()
i = RechercheNP1(z,n)
if i == -30 :
print('Inconnu')
else :
print(prenom[i])
print(nom[i])
def Ajouter():
x = entr1.get()
y = entr2.get()
z = entr3.get()
liste = []
fichier = open("repertoire.txt", 'r')
liste = fichier.readlines()
l = len(liste)
for i in range (0,l) :
liste[i] = (liste[i].replace("\n", " " ))
liste.append(x)
liste.append(y)
liste.append(z)
print (liste)
fichier = open("repertoire.txt", 'w')
for terme in liste :
fichier.write(str(terme)+"\n" )
fichier.close()
liste = []
prenom = []
nom = []
tel = []
#remplissage du répertoire
fichier = open("repertoire.txt", 'r')
liste = fichier.readlines()
l = len(liste)
for i in range(0,l) :
liste[i] = (liste[i].replace("\n","" ))
i = 0
while i <= l-3 :
prenom.append(liste[i])
nom.append(liste[i+1])
tel.append(liste[i+2])
i = i + 3
print (prenom)
print (nom)
print (tel)
n = len(nom)
#Principal:
#On crée notre interface
fenetre = Tk()
fenetre.title('Répertoire Téléphonique')
fenetre['bg']='blue'
fenetre.geometry('625x125+600+400')
#Création et mise en place des labels
Label(fenetre, text='Prenom : ',fg="black", bg="blue" ).grid(row=1,column=1, sticky=W)
Label(fenetre, text='Nom : ',fg="black", bg="blue" ).grid(row=2,column=1, sticky=W)
Label(fenetre, text='Telephone : ',fg="black", bg="blue" ).grid(row=3,column=1, sticky=W)
#Création des Entrées
x = StringVar()
entr1 = Entry(fenetre, textvariable=x)
x.set('')
y = StringVar()
entr2 = Entry(fenetre, textvariable=y)
y.set('')
z = StringVar()
entr3 = Entry(fenetre, textvariable=z)
z.set('')
#Position des entrées
entr1.grid(row=1,column=2)
entr2.grid(row=2,column=2)
entr3.grid(row=3,column=2)
#Création, mise en place et on dit quelle commande définit précédemmant doit faire les Boutons
Button(fenetre, text=' Rechercher Nom/Prénom ',command=RechercheNP).grid(row=4,column=0)
Button(fenetre, text=' Recherche N° ',command=RechercheTel).grid(row=4,column=1)
Button(fenetre, text=' Ajouter ',command=Ajouter).grid(row=4,column=2)
#Démarrage de la fenêtre
#Et extincion de la fenêtre
fenetre.mainloop()
fenetre.destroy()