Je souhaite définir une variable dans Python sur true ou false. Cependant, les mots true
et false
sont interprétés comme des variables non définies:
#!/usr/bin/python
a = true;
b = true;
if a == b:
print("same");
L'erreur que je reçois:
a = true
NameError: global name 'true' is not defined
Quelle est la syntaxe python pour définir une variable sur true ou false?
Python 2.7.3
Pour répondre d'abord à votre question, définissez une variable sur true ou false en lui affectant True
ou False
:
myFirstVar = True
myOtherVar = False
Si vous avez une condition qui est fondamentalement comme ceci cependant:
if <condition>:
var = True
else:
var = False
il est alors beaucoup plus facile d'affecter simplement le résultat de la condition directement:
var = <condition>
Dans ton cas:
match_var = a == b
match_var = a==b
cela devrait plus que suffire
vous ne pouvez pas utiliser un - dans un nom de variable car il pense que c'est match
(moins) var
match=1
var=2
print match-var #prints -1
Les mots-clés booléens Python sont True
et False
, notez les majuscules. Alors comme ça:
a = True;
b = True;
match_var = True if a == b else False
print match_var;
Une fois compilé et exécuté, ceci affiche:
True
Comme @Spixel l'a mentionné, vous n'avez pas affecté de valeurs booléennes (Vrai ou Faux - commençant par une lettre majuscule) à vos variables. Vous avez plutôt affecté la valeur textuelle (true)
À vos variables. Il existe donc une erreur non définie variable .
Si vous deviez inclure ce texte entre guillemets (a = 'true' and b = 'true')
, Vous obtiendrez le résultat souhaité de print('same')
.
Trouvez plus d'informations ici: http://interactivepython.org/runestone/static/CS152f17/Selection/BooleanValuesandBooleanExpressions.html