« Programmation Python/Booléens » : différence entre les versions
Contenu supprimé Contenu ajouté
Ligne 103 :
Les deux lignes suivantes, <code>print(8, not (a == 7 and b == 6))</code> et <code>print(9, not a == 7 and b == 6</code>, montrent que les parenthèses peuvent être utilisées pour regrouper des expressions et forcer l’évaluation d'une partie en premier. Notez que les parenthèses ont changé l'expression de "faux" à "vrai". La raison est que les parenthèses ont forcé le <code>not</code> à s'appliquer à toute l'expression au lieu de seulement la partie <code>a == 7</code>.
== bool() ==
== Note sur les opérateurs booléens ==▼
{{attention|1=<code>x == ('a' or 'b')</code> ne vérifie pas si <code>x</code> est équivalent aux caractères <code>'a'</code> ou <code>'b'</code>, mais au résultat de leur expression booléenne.}}▼
Exemple :▼
<source lang=python>▼
>>>''' 'a' == ('a' or 'b')'''▼
True▼
>>>''' 'b' == ('a' or 'b')'''▼
False▼
>>>''' 'a' == ('a' and 'b')'''▼
False ▼
>>>''' 'b' == ('a' and 'b')'''▼
True▼
</source>▼
▲Explications : la valeur booléenne d'une variable "x" peut être obtenue avec <code>bool(x)</code>. Voici la table de vérité selon le type de la variable :
{| class="wikitable"
|-
Ligne 136 ⟶ 122 :
|}
▲== Note sur les opérateurs booléens ==
▲{{attention|1=<code>x == ('a' or 'b')</code> n'est pas équivalent à <code>x == 'a' or x == 'b'</code>. En effet, cela ne vérifie pas si <code>x</code> est équivalent aux caractères <code>'a'</code> ou <code>'b'</code>,
▲Exemple :
▲<source lang=python>
▲ True
▲ False
▲ False
▲ True
▲</source>
Détails de l'exemple :
>>> 'a' == ('a' or 'b') # 'a' = True, comme 'a' = 'a', on n'évalue pas 'b'
True
>>>
# 'a' is a nonempty string, so the first value is True
# Return that first value: 'a'
>>>
False
>>>
# 'a' is a nonempty string, so the first value is True, examine second value
# 'b' is a nonempty string, so second value is True
# Return that second value as result of whole expression: 'b'
>>>
False
>>>
# 'a' is a nonempty string, so the first value is True, examine second value
# 'b' is a nonempty string, so second value is True
# Return that second value as result of whole expression: 'b'
>>>
True
Ligne 172 ⟶ 168 :
Going back to those initial expressions, this is how you would write them out so they behaved in a way that you want:
>>>
True
>>>
True
>>>
False
>>>
False
Ligne 184 ⟶ 180 :
=== Exemples ===
<source lang="python">
## This program asks a user for a name and a password.
Ligne 201 ⟶ 197 :
Sample runs
What is your name?
What is the password?
Welcome Josh
What is your name?
What is the password?
I don't know you.
|