Bonjour tout le monde,
J’essaie de comprendre pourquoi certains de mes print
ne s’affichent pas. Regardez donc le code suivant :
1 2 3 4 5 6 7 8 | for pattern in patterns: anagrams = solve_anagram(pattern) print anagrams # debug for anagram in anagrams: for word in anagram: print word, print '' |
La sortie attendue est :
1 2 3 4 | [[u'ubiquit\xe9', u'fortuite']] ubiquité fortuite [[u'aupr\xe8s', u'd', u'un', u'halo', u'bleu']] auprès d un halo bleu |
Cependant, la sortie change à chaque fois que je lance le script, une sortie "type" ressemble à ceci:
1 2 3 | [[u'ubiquit\xe9', u'fortuite']] u'bleu']] auprès d un halo bleu |
Et je n’ai aucune idée de pourquoi. Pire encore, si je retire la ligne de debug (print anagram
), alors plus rien ne s’affiche. Je sais qu’un print
qui se finit par une virgule rentre dans une pile, qui n’est affichée que quand un rajoute un \n
dans la pile. Mais là, le print ''
est censé apporter ce retour à la ligne (et ça ne marche pas non plus avec un print "\n"
).
Ma question est donc la suivante. Pourquoi certaines parties ne sont pas affichées ? Accessoirement, pourquoi la sortie change à chaque exécution ?
(Je sais que je peux simplement afficher l’anagramme avec ' '.join(anagram)
, mais je veux comprendre ce qui se passe dans le cas présent.)
Edit : Il m’a suffi de créer ce topic pour que mon code se mette à fonctionner. Dois-je exorciser mon ordinateur ?