noise83 a écrit :
merci bien , en effet c'etai tout bête . J'ai une deuxieme question tout aussi bête surement mais comme un dis un con qui demande reste con qq seconde... J'explique, quand je met la condition "else" l'indentation ne se fait pas automatiquement sous windows, je fais donc 4 espaces comme indiqué dans le tuto de Gerard Swinnen et la .... >>> a = 20 >>> if (a >1 00): print ' a est superieur a la centaine' else: File "<pyshell#8>", line 3 else: ^ IndentationError: unindent does not match any outer indentation level >>> ça doit encore etre tout bête...
|
Ta condition "else" ne doit surtout pas être indentée ici, la ligne "if" n'est pas indentée (même si elle n'est pas collée au bord gauche) à cause du marqueur ">>> " de shell, qui ajoute des caractères mais pas d'indentation (c'est pas super clair je sais, mais c'est comme ça)
Donc un if/else doit ressembler à ça dans le shell:
Code :
>>> if True: print "ok" else: print "nok" ok >>>
|
Accessoirement, les parenthèses dans ton "if" sont inutiles et redondantes, elles ne sont à utiliser que pour clarifier une condition ou pour créer des groupes incompatibles avec la précédences naturelle.
Typiquement, une opération du type
Code :
>>> a = 5 >>> b= 6 >>> c = 7 >>> d = 8 >>> if a < b != c > d: print "ok"
|
ne va rien imprimer du tout, parce que les opérateurs de comparaison ont tous la même précédence, donc évaluation de la gauche vers la droite, donc c'est équivalent à
Code :
if (((a < b) != c) > d): print "ok"
|
qui n'est pas du tout ce que je voulais.
Donc je rajoute des parenthèses pour bypasser la précédence naturelle, et ça donne
Code :
>>> if (a < b) != (c > d): print "ok" ok
|
mais chez toi il n'y a qu'une seule opération et elle n'est pas ambigue, donc pas de parenthèses.
Message édité par masklinn le 30-09-2007 à 11:26:06
---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?