|
|
|
|
Bonjour,
Je suis un tout nouveau débutant dans le langage Python, j'avance doucement en essayant de comprendre ce que je fais mais... dans un tout petit bout de code, j'ai une erreur avec une variable. Oo
En fait il y a un truc que je comprends pas. Mon bout de code est le suivant :
a=586
if a < 1000:
print "a est inferieur a 1000"
elif a >= 1000:
print "a est superieur ou egal a 1000"
else:
print "a n'est pas un chiffre !"
if a == 2786:
print "a est egal a 2786"
En gros. Donc si je mets comme valeur un chiffre à la variable a, ça fonctionne bien, le message qui apparaît est le bon, mais si par exemple, j'ai envie d'attribuer un mot à la variable a ?
En principe, la condition "else" devrait s'activer non ? Et le message "a n'est pas un chiffre" devrait apparaître non ?
Le problème, c'est que par exemple, si je mets la valeur "salut" à la place de 586 pour a, le message qui apparaît est :
"a est supérieur ou égal à 1000"
C'est-à-dire la deuxième condition...
C'est normal ? Pourquoi c'est pas la condition "else" qui est respectée ?
Voili voilou c'est un problème que je n'arrive pas trop à comprendre là, si quelqu'un pouvait m'éclairer là-dessus ce serait super cool, merci d'avance. ;)
Configuration: Windows XP Firefox 3.0.3
En python, une chaine est toujours plus grande qu'un entier. Ne me demande pas pourquoi :-/
if type(a) == str:
if a.isdigit():
a = int(a)
else:
print "pas un nombre"
return #Si dans une fonction
if a < 1000:
print "a est inferieur a 1000"
else:
print "a est superieur ou egal a 1000"
if a == 2786:
print "a est egal a 2786"
Le gâteau est un mensonge! |
Hmm quand j'essaye ton code cela ne fonctionne pas, la console s'ouvre une fraction de seconde et se ferme direct, je ne sais pas pourquoi... :s
if a < 1000:
print "a est inferieur a 1000"
elif a >= 1000:
print "a est superieur ou egal a 1000"
else:
print "a n'est pas un chiffre !"
if a == 2786:
print "a est egal a 2786"
En tout cas tu viens quand même de m'apprendre un truc : une chaîne de caractères est plus grande qu'un entier, je savais pas ça^^
|
J'ai essayé de faire comme tu dis, par contre quand tu dis :
|
Ah en fait si, j'ai déplacé mon fichier python dans le chemin d'accès prédéfini, et le code d'erreur qu'ils m'affichent est :
File "test2.py", line 7
else:
^
IndentationError: unindent does not match any outer indentation level
Donc ça voudrait dire que j'ai un problème d'indentation à la ligne 7 c'est ça ? Je vais voir de quoi il s'agit et je te dis si j'ai des nouvelles lol^^ (en tout cas merci encore ;)) |