Bonjour
Je suis sur un exo et la je suis bloqué depuis pas mal de temps, le but est en fait de sortir depuis. un fichier texte (qui contient des contacts) les informations de ce dernier sous la forme d'une liste.
Pour l'instant j'ai réalisé le programme "lecture_contacts", il fonctionne lorsque j'utilise print(l) dans la fonction mais une fois que j'utilise return(l) (ce qu'il faut justement utiliser) je n'obtiens qu'une partie de la liste (la première ligne)
. Si quelqu'un pourrait me mettre sur une piste, ce serait aimable
class contact:
"classe des contacts"
c = contact ()
c.prenom = "mon_prenom"
c.nom = "mon_nom"
c.tel = "mon tel"
def saisie_nouveau_contact():
c=contact()
print("Prénom")
c.prenom = input("")
print("Nom")
c.nom = input("")
print("Téléphone")
c.tel = input("")
return(c)
def affiche_contact(c):
print("Nom : ",c.nom,"\n" "Prénom :",c.prenom,"\n" "tel :", c.tel)
def cree_contact(ligne):
l=ligne.split(':')
c= contact()
c.nom = l[0]
c.prenom = l[1]
c.tel = l[2]
return(c)
def ajout_contact_fichier(mon_fichier,c):
fichier = open(mon_fichier,"a")
fichier.write(c.nom+":"+c.prenom+":"+c.tel+"\n")
fichier.close()
def saisie_ajoute(mon_fichier):
a=saisie_nouveau_contact()
affiche_contact(a)
ajout_contact_fichier("contacts.txt",a)
def combien(mon_fichier):
fichier = open(mon_fichier,"r")
i=0
for ligne in fichier:
i=i+1
return(i)
def lecture_contacts(mon_fichier):
fichier = open(mon_fichier,'r')
for ligne in fichier:
ligne=ligne.replace('\n','')
l=ligne.split(':')
c = contact()
c.nom = l[0]
c.prenom=l[1]
c.tel=l[2]
return(l)
fichier.close()
mes_contacts = lecture_contacts("contacts.txt")
print(mes_contacts)
n = combien("contacts.txt")
#lecture_contacts("contacts.txt")
#lecture_contacts("contacts.txt")
#saisie_ajoute("contacts.txt")