Voici des causes fréquentes d’interruptions d’exécution ou d’erreurs dans les résultats. Les éléments de solution correspondants sont à chercher dans les autres chapitres ... ;-) ... Voir aussi Index.
Effets: les résultats des calculs sont faux, ou l’on obtient une erreur d’exécution du type NameError: name 'x' is not defined.
Effets: des boucles while ne se terminent pas (boucles infinies) ou au contraire ne semblent pas exécutées du tout, ou encore certains if paraissent ignorés par l’interpréteur Python.
Effet: l’interpréteur Python refuse d’exécuter le programme et affiche une message d’erreur du type SyntaxError: invalid syntax.
Effets: les résultats des calculs sont faux dans certains cas, et/ou l’on obtient des résultats entiers (sans le . décimal) alors qu’ils ne devraient pas l’être.
Effet: on obtient une erreur d’exécution du type NameError: name 'x' is not defined.
Deux cas sont souvent la cause de ce type d’erreurs:
Effet: le contenu de la boucle n’est pas exécuté.
Ceci se rencontre lorsque la liste utilisée par la boucle est obtenue par calcul, et peut arriver même avec un simple range() comme dans for i in range(K): si lors de l’exécution K a une valeur de zéro.
Effet: à l’écran les indentations semblent correctes, mais elles ne sont pas correctement interprétées/reconnues par Python.
Ceci provient souvent d’une combinaison entre espaces et tabulations utilisée pour réaliser l’indentation d’un partie du code, hors pour l’interpréteur Python une tabulation n’est pas équivalente à un ou plusieurs espaces. Une tabulation n’est équivalente qu’à une autre tabulation !
Pistes de solutions:
Effet: l’interpréteur Python refuse d’exécuter le programme et affiche une message d’erreur du type SyntaxError: Non-ASCII character. Voir Support des accents.