Bonjour,

J'ai deux variables qui ne veulent pas matcher, je ne comprends pas pourquoi !

J'ai un fichier qui contient ceci :

saint christophe
jacques
10 rue x
88000
0192884854
01011980
M

bayard
josé
20, rue z
75001
0102030405
04041990
M

balzac
honoré
30, rue y
59000
0782322112
01011909
M

valjean
jean
8, rue a
62200
0321276873
01041908
M
Et voici mon petit code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
def id():
    fichier = open('output4.txt', 'a')
    nom = input("nom : ")
    fichier.write(nom + '\n')
    prenom = input("prénom : ")
    fichier.write(prenom + '\n')
    adresse = input("adresse : ")
    fichier.write(adresse + '\n')
    code_postal = input("code postal : ")
    fichier.write(code_postal + '\n')
    num_tel = input("numéro de téléphone : ")
    fichier.write(num_tel + '\n')
    date_naissance = input("date de naissance : ")
    fichier.write(date_naissance + '\n')
    sexe = input("sexe : ")
    fichier.write(sexe + '\n' + '\n')
    fichier.close()
 
def print_id(cp):
    fichier = open('output4.txt', 'r')
    while 1:
        line = fichier.readline()
        if line == '':
            break
        if line == cp:
            #print("ok")
            fichier.seek(-3, 1) # seek repositionne le curseur ; offset de -3, 1 = à partir de là où on est
            i=0
            while i < 6:
                print(line)
                i+=1        
    fichier.close()
 
print("*menu*")
print("1=ajouter id")
print("2=chercher id selon code postal")
x=input()
if x == '1':
    id()
if x == '2':
    cp = input("code postal : ")
    print_id(cp)
Le problème réside dans la fonction print_id() à la ligne

J'ai fait quelques print() pour vérifier la valeur de mes variables cp et line et elles contiennent bien les valeurs attendues.

Même quand je fais un simple print("ok") juste en-dessous, le 'ok' ne s'affiche pas dans mon terminal.

J'en conclue donc que c'est bien le match entre line et cp qui ne fonctionne pas. Mais comment est-ce possible ?!

Par ailleurs, je me demande si la suite du

fonctionne bien car je n'ai jamais utilisé la méthode .seek()

Je n'ai aucun retour d'erreur, je suis dans le brouillard complet.

Un indice ?