Par exemple, si l'utilisateur inscrit "1" il sera affiché :
Nom: Dupont
Prénom: Vincent
Téléphone: 0623435564
Voici mon code:
fichier=open('repertoire.txt','w')
fichier.write("1/Dupont/Vincent/0623435564\n")
fichier.write("2/Martin/Claire/0767552134\n")
fichier.write("3/Petit/Pierre/0677564363\n")
fichier.write("4/Durant/Jérémy/0607785321\n")
fichier.write("5/Miller/Jhon/0788685423\n")
fichier.write("6/Fournier/Liz/0675564543\n")
fichier.write("7/Perrin/Adeline/0708586811\n")
fichier.write("8/Dumont/Carla/0584863519\n")
fichier.write("9/Collin/Marine/0785315964\n")
fichier.write("10/Chauvin/Patrick/0512689466\n")
fichier.close()
fichier=open('repertoire.txt','r')
for mot in fichier:
print(mot.strip('\n'))
fichier.close()
def lecture (nomdufichier,n):
fichier=open(nomdufichier,'r')
for i in range(n):
ligne=fichier.readline()
ligne=ligne.strip('\n')
fichier.close()
return ligne
def lirecontact(ligne):
#votre code ici
i=0
while ligne[i]!="/":
i=i+1
j=i+1
while ligne[j]!="/":
j=j+1
print("Nom: "+ligne[i+1:j])
k=j+1
while ligne[k]!="/":
k=k+1
print("Prénom: "+ligne[j+1:k])
print("Téléphone: "+ligne[k+1:])
fichier.close()
rep=input("lirecontact? (O/N)")
if rep in ('o','O'):
print("test4")
print(lirecontact(1))
print(lirecontact(10))
print(lirecontact(1)[0]) #n 'affiche que le nom
print(lirecontact(5)[1]) #n 'affiche que le prenom
print(lirecontact(3)[2]) #n 'affiche que le tel
print(lirecontact(120)) #s'il n'y a pas 120 lignes, il doit gerer l'erreur
Si vous trouvez une solution, merci de m'en informer.
La fonction lecture() lit les n premières lignes du fichier ...
... à condition qu'on écrive range(n+1)
car le nombre inscrit ne fait pas partie de l'intervalle pour range().
Pour split(), ça n'est pas grave pour l'instant. Ce qui est là devrait fonctionner.
16 févr. 2023 à 21:00
Non