web-dev-qa-db-fra.com

Comment définir python variables sur true ou false?

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

25
user1050619

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
44
poke
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
12
Joran Beasley

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
5
SpiXel

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

0
Avinash Basutkar