*********************************************
Application Carnet d'Adresses
V 1.0
*********************************************
Tapez une des quatre touches suivantes :
A pour Ajouter une personne
L pour la Liste des fiches du carnet
I pour revoir ces Instructions
Q pour Quitter. """
PATRON_LISTE = "%s %s Naissance: %s Email: %s"
class CarnetAdr(object):
def __init__(self):
self.gens =[]
class Kontroleur(object):
def __init__(self):
self.carnet_adr = self.charger()
if self.carnet_adr is None:
self.carnet_adr = CarnetAdr()
self.gerer_menu()
def charger(self):
if os.path.exists(NOMFIC_SAUVE):
with open(NOMFIC_SAUVE, 'r') as ficor:
return pickle.load(ficor)
else:
return None
def gerer_menu(self):
print(INSTRUCTIONS)
while True:
cmd = raw_input("n(a)jout'(l)iste,(i)nstr.,(q)uitter : ")
if cmd == "a":
self.ajouter_fiche()
elif cmd == "q":
if confirmer_quitter():
print("Sauvegarde")
self.carnet_adr.sauver()
print("Fin de l'application")
break
elif cmd == "i":
print(INSTRUCTIONS)
elif cmd == "l":
self.lister_fiches()
else:
modele = "*** Touche de commande inconnue (%s) !"
print(modele%cmd)
def ajouter_fiche(self):
print("Ajout d'une fiche dansle carnet")
print("Description de la personne :")
prenom = raw_input("Son prenom ? ")
if prenom == "q":
print("On abandonne !")
return
nomfami = raw_input("Son nom de famille ? ")
if nomfami == "q":
print("On abandonne !")
return
M_DATENAISS = "Sa date de naissance (Jour/Mois/An) ? "
datenaiss = raw_input(M_DATENAISS)
if datenaiss == "q":
print("On abandonne !")
return
courriel = raw_input("Son @dresse ? ")
if courriel == "q":
print("On abandonne !")
return
nfiche = FicheAdr(prenom, nomfami, courriel, datenaiss)
self.carnet_adr.ajouter_fiche(nfiche)
ncontact = (prenom, nomfami)
print("Nouvelle fiche faite pour %s %s. n"%ncontact)
def lister_fiches(self):
print("nListe des personnes")
for indice, e in enumerate(self.carnet_adr.gens):
contact = (e.prenom, e.nomfami, e.datenaiss, e.courriel)
fiche = PATRON_LISTE%contact
print("%s: %s"%(indice + 1, fiche))
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Benoit Izac
Bonjour, Le 14/05/2018 à 09:22, Hugues a écrit dans le message :
J'aimerais que vous m'aidiez à corriger ce code : [...] with open(NOMFIC_SAUVE, 'w') as ficow: pickle.dump(self, ficow) [...] with open(NOMFIC_SAUVE, 'r') as ficor: return pickle.load(ficor)
Si tu es sous Windows, je pense qu'il faut utiliser 'rb' pour ouvrir le fichier. NB : je n'ai pas regardé le reste. -- Benoit Izac
Bonjour,
Le 14/05/2018 à 09:22, Hugues a écrit dans le message
<jOCdnUlQcdSqpGTHnZ2dnUU7983NnZ2d@giganews.com> :
J'aimerais que vous m'aidiez à corriger ce code :
[...]
with open(NOMFIC_SAUVE, 'w') as ficow:
pickle.dump(self, ficow)
[...]
with open(NOMFIC_SAUVE, 'r') as ficor:
return pickle.load(ficor)
Si tu es sous Windows, je pense qu'il faut utiliser 'rb' pour ouvrir le
fichier.
Bonjour, Le 14/05/2018 à 09:22, Hugues a écrit dans le message :
J'aimerais que vous m'aidiez à corriger ce code : [...] with open(NOMFIC_SAUVE, 'w') as ficow: pickle.dump(self, ficow) [...] with open(NOMFIC_SAUVE, 'r') as ficor: return pickle.load(ficor)
Si tu es sous Windows, je pense qu'il faut utiliser 'rb' pour ouvrir le fichier. NB : je n'ai pas regardé le reste. -- Benoit Izac
yves
Le Mon, 14 May 2018 02:22:31 -0500, Hugues21 a écrit: Bonjour,
J'aimerais que vous m'aidiez à corriger ce code
Ce code fonctionne sur mon installation (Ubuntu Linux). @+ -- Yves
Le Mon, 14 May 2018 02:22:31 -0500, Hugues21 a écrit:
Bonjour,
J'aimerais que vous m'aidiez à corriger ce code
Ce code fonctionne sur mon installation (Ubuntu Linux).