Erreur Python
Répondre à la discussion
Affichage des résultats 1 à 13 sur 13

Erreur Python



  1. #1
    kimsama

    Erreur Python


    ------

    Bonsoir,

    Code:
    for value_a  in range ( pow(2, self.n) ) :
    	    for value_b in range (pow(2, self.n) ):
    	      for value_sel in range (2) : 
    		 for value_ck in range (2) : 
    	           pat.affect_int ( self.a , value_a )
                       pat.affect_int ( self.b , value_b )
                       pat.affect_int ( self.sel, value_sel )
                       pat.affect_int ( self.cin, value_ck )
    Voici l'erreur qu'on m'affiche et ceci au niveau de la ligne 5 :
    pat.affect_int ( self.a , value_a )
    ^
    IndentationError: expected an indented block

    Pourtant je crois bien avoir respecté les règles d'indentation.

    Voici une deuxième erreur toujours liée à l'indentation :

    Code:
     for value_a  in range ( pow(2, self.n) ) :
    	      for value_b in range ( pow(2, self.n) ) :
    		for value_c in range (2) : 
    	          pat.affect_int ( self.a , value_a )
                      pat.affect_int ( self.b , value_b )
                      pat.affect_int ( self.cin, value_c )
                      if (value_a + value_b + value_c - pow(2, self.n) >= 0) :
    erreur :

    pat.affect_int ( self.a , value_a )
    ^
    IndentationError: unindent does not match any outer indentation level
    Vu que je suis vraiment débutante en Python j'ai beau essayer de ne pas tomber dans ce type d'erreurs et là je ne sais vraiment pas ce que je dois faire. Si quelqu'un pourrait m'aider je serais reconnaissante
    Merci d'avance

    -----

  2. #2
    invite73192618

    Re : Erreur Python

    Normalement c'est ni plus ni moins que 4 espaces pour chaque identation.

  3. #3
    satinas

    Re : Erreur Python

    Bonjour, ton fichier mélange tabulations et espaces, ce qui peut provoquer des problèmes d'intentation à l'exécution. Pour python, il est conseillé de régler son éditeur de texte pour qu'il remplace les tabulations par des espaces.

  4. #4
    kimsama

    Re : Erreur Python

    Bonjour,
    Ce n'est pas clair ici mais dans mon fichier je crois bien avoir respecté les indentations j'ai mis 4 espaces pour le premier for ensuite je décale le for suivant de 2 espaces et ainsi de suite.
    Sinon satinas on fait comment pour régler l'éditeur de texte pour qu'il remplace les tabs par des espaces ?

    Merci.

  5. A voir en vidéo sur Futura
  6. #5
    satinas

    Re : Erreur Python

    Commence par nous dire quel est ton éditeur de texte

  7. #6
    kimsama

    Re : Erreur Python

    Ah désolée, c'est Geany comme éditeur.

  8. #7
    satinas

    Re : Erreur Python

    dans menu Document/Type d'indentation/Espaces
    il faut le refaire à chaque fois qu'on rentre dans le logiciel, on doit pouvoir le mémoriser dans la configuration du logiciel, que je connais que depuis 2mn30s.

  9. #8
    kimsama

    Re : Erreur Python

    ça ne marche toujours pas apparemment il ne remplace que les nouvelles tabulations mais les anciennes non.
    J'ai essayé avec vim en tapant cette commande :

    :%s/ /\t/g

    Pourtant j'ai un soucis car le code est flingué , déjà est ce que c'est la bonne commande ? Merci

  10. #9
    satinas

    Re : Erreur Python

    Si tu fais ce que je t'ai dit, et que tu sauvegardes à nouveau le fichier, il transformera toutes les tabulations en espaces.
    Le réglage devient permanent en mettant "indent_type=0" dans le fichier c:\users\toto\AppData\Roaming\ geany\geany.conf ou son équivalent linux.
    Il faut savoir insister et pas zapper trop vite.

  11. #10
    kimsama

    Re : Erreur Python

    Oui en fait j'ai réessayé et maintenant ça marche , merci beaucoup

  12. #11
    satinas

    Re : Erreur Python

    Non tu avais raison, il remplace pas les anciennes tabulations, pour ça il faut passer par le menu
    Document/rempalcer les tabulations pas des espaces

  13. #12
    polo974

    Re : Erreur Python

    dans geany, on peut visualiser les espaces et tabulations:
    "affichage"/"afficher les espaces"

    ce qui permet de visualiser les mélanges de tab et espaces.

    se référer à la pep8 qui conseille 4 espaces et banni le mélange (utiliser l'option -t pour se forcer à écrire proprement)

    (les pep en python, c'est comme les rfc en réseau ou le code de la route au volant, c'est parfois ch... mais c'est nécessaire).

    (dans gedit ou pluma, quand on fait une recherche, toutes les occurrences sont colorées, donc plus visuel...)


    vaguement hs: se méfier des tab quand on code du shell, car avec l'auto-complétion, ça fait des trucs zarb si on copie/colle un bout de code de l'éditeur vers une console...
    Jusqu'ici tout va bien...

  14. #13
    CM63

    Re : Erreur Python

    Citation Envoyé par polo974 Voir le message
    vaguement hs: se méfier des tab quand on code du shell, car avec l'auto-complétion, ça fait des trucs zarb si on copie/colle un bout de code de l'éditeur vers une console...
    Pas que vaguement.

Discussions similaires

  1. [Python] subprocess, lancer un autre programme avec python
    Par Loupsio dans le forum Programmation et langages, Algorithmique
    Réponses: 10
    Dernier message: 30/11/2016, 18h56
  2. Jeu de Nim en python
    Par Zitugi dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 11/11/2015, 16h02
  3. en python le multi tache n'est pas possible alors pourquoi les threads existent sur python?
    Par docEmmettBrown dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 10/06/2015, 15h47
  4. FFT Python
    Par berguem40 dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 09/09/2011, 16h33
  5. Erreur de raisonnement, erreur logique ou erreur tout court?
    Par babybirdhitz dans le forum Epistémologie et Logique (archives)
    Réponses: 7
    Dernier message: 03/02/2010, 12h32