Kinda new to python, issu d'une expérience de développement en C/C++. Ne pas déclamer, mais l'indentation et l'espacement des choses deviennent un peu le fléau de ma vie. Alors, voici le problème. Prenez cet extrait de code, tapé séquentiellement, n'effaçant jamais ou n'insérant aucune modification entre les codes existants.Comment modifier les codes indentés en python?
while condition:
line 1
line 2
line3 #outside the loop
Cela fonctionne très bien. Mais, supposons, je veux ajouter une autre instruction à l'intérieur de la boucle. (Modification en utilisant jupyter portable et sublime, sur Linux) Donc, je ajoute la ligne
while condition:
line 1
line 1.5
line 2
line3 #outside the loop
C'est quand le problème commence. Peu importe ce que j'essaie, je ne peux jamais le faire fonctionner. Il me donne des erreurs comme
line 2 ^ IndentationError: unexpected indent
ou certaines variations selon les circonstances. Il semble en quelque sorte que l'ajout d'une seule ligne au sein d'une structure de blocs imbriqués complexe et compliquée bouleverse totalement le tout.
Je n'insère pas les espaces/retraits manuellement, je laisse simplement mon éditeur s'en charger. Lorsque j'appuie sur Entrée, le curseur descend à la ligne suivante, indentée au même niveau que la ligne précédente (sauf si la ligne précédente se termine par :, auquel cas elle ajoute une autre indentation).
Quand je dois mettre fin à une en boucle ousi bloc, je viens de frapper l'arrière pour se rétracter un niveau de retrait. Les blocs semblent parfaitement bien par inspection visuelle, mais n'ont aucune idée comment l'interprète voit il.
Toute aide, sur ce que je fais de mal, ou au moins quelles sont les bonnes pratiques pour éviter ce problème? En particulier, l'ajout d'une seule ligne dans un bloc imbriqué existant semble presque impossible.
est éditeur des espaces ou des tabulations Insertion? Cela fait une différence. En ce qui concerne les * bonnes pratiques *, vous pouvez trouver des recommandations et des suggestions sur [python.org] (http://www.python.org). –
Pouvez-vous nous donner le code exact qui ne fonctionne pas? Vos exemples sont théoriquement corrects mais en pratique vous pourriez faire quelque chose de mal – HyperNeutrino
Pouvez-vous ouvrir le script python dans un éditeur ordinaire pour voir les espaces/onglets? –