Comparaison de deux fichiers txt toujours fausse malgres mem txt

pascal128 Messages postés 21 Date d'inscription mercredi 4 décembre 2013 Statut Membre Dernière intervention 4 septembre 2022 - Modifié par NHenry le 26/07/2015 à 21:00
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 - 1 août 2015 à 16:52
Bonjours
Malgres mes recherches je bute sur un probleme.
j'ai cree deux textes identiques ( 1 a l'interieur pour test).
Quand je compare ces fichiers, mon code me donne le resultat, not ok, faux, diff etc, mais jamais bon, ok ,magnifique ???
meme en buvant frais, je n'ai pas reussi a trouver ou se trouve mon erreure afin de comprendre.
Voici mon simple code.


*

test_lines = open("test.txt").readlines()
correct_lines = open("correct.txt").readlines()

for test, correct in zip(test_lines, correct_lines):
    print(test)
    print(correct)


    if test == correct:
        print ('ok')
        break
    elif test != correct:
        print ("faux")



*


merci d'avance
bonnes vacances aux pythons
pascal


EDIT: Ajout de la coloration syntaxique.

1 réponse

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
26 juil. 2015 à 21:02
Je ne connais pas python, mais je remarque que :
    if test == correct:
        print ('ok')
        break
    elif test != correct:
        print ("faux")


le "elif" peut être remplacé par un "else" classique car tu fais les test inverse.
0
pascal128 Messages postés 21 Date d'inscription mercredi 4 décembre 2013 Statut Membre Dernière intervention 4 septembre 2022 1
Modifié par NHenry le 1/08/2015 à 16:51
Bonjour
Merci pour ton aide, mais le resultat est toujours "faux"
test_lines = open("test.txt").readlines()
correct_lines = open("correct.txt").readlines()

for test, correct in zip(test_lines, correct_lines):
    print(test)
    print(correct)

if test == correct:
        print ('ok')
else:
    print('faux')

malgres la verification que voici (print)
>>>
1
1

faux
>>>
merci quand meme
pascal

EDIT: Ajout de la coloration syntaxique.
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
1 août 2015 à 16:52
Ton IF est en dehors de ta boucle, donc forcément, tu ne fais le test qu'une fois à la fin sur des variables probablement erronées.
0
Rejoignez-nous