Fonction booléenne qui ne s'évalue pas correctement
Bonjour à tous,
Je suis nouvelle sur ce forum et sur python de manière générale, donc désolée d'avance si mes questions vous paraissent bêtes.
Pour le contexte : Je dois définir une fonction vert qui retourne True si son argument = 'vert', et une autre fonction orange qui retourne True si son argument = 'orange', jusque là pas de soucis. Mais après, je dois définir une fonction roule qui retourne True si vert ou orange sont True, False sinon. Mon problème est le suivant : lorsque je définis ma fonction, le résultat est toujours True quel que soit l'état de vert ou orange, et je ne comprends pas pourquoi. A quel moment exactement de l'exécution de roule les fonctions vert et orange sont évaluées ?
Voici ce que j'ai écrit (je l'ai fait de plusieurs manières mais toujours le même résultat) :
Code:
1 2 3 4 5 6 7 8 9
| >>> def roule(x) :
... def vert(a) :
... if a is 'vert' : return True
... return False
... def orange(b) :
... if b is 'orange' : return True
... return False
... if vert or orange : return True
... return False |
Merci d'avance à ceux qui voudront bien me répondre !