Exercice Corrigé: Booléens en Python

Avec des exercices corrigés en Python, vous pratiquerez divers concepts du langage Python. Vous commencerez par des exercices Python de base à des exercices plus avancés. La solution est fournie pour chaque exercice. Vous devez essayer de résoudre chaque problème par vous-même avant de vérifier la solution. Si vous avez des questions concernant chaque problème, nous vous encourageons à les poster sur notre forum.
 
 

Exercice 1:

Le code Python suivant contient une ou plusieurs erreurs. Comment les corriger ?

level = 1

if level > 0
    print("Ouvrir les portes")
else
    print("Fermer les portes")
Solution:

Ajouter un deux-points à la fin de l’expression « if » et à la fin de l’expression « else ».

level = 1

if level > 0:
    print("Ouvrir les portes")
else:
    print("Fermer les portes")
 

Exercice 2:

Écrire un programme Python pour vérifier si un nombre donné est pair ou impair en utilisant des variables booléennes.

Exemple:

N = 2
2 est un nombre pair.
Solution:

nbr = 2

if (nbr % 2 == 0):
	print(f"{nbr} est un nombre pair.")
else:
	print(f"{nbr} est un nombre impair.")
 

Exercice 3:

Écrivez une fonction Python qui prend deux valeurs booléennes en entrée et renvoie le AND et le OR logiques de ces valeurs.

Solution:

def logic_op(x, y):
    and_logic = x and y
    or_logic = x or y
    return and_logic, or_logic
	
print(logic_op(True, True))
print(logic_op(True, False))

Sortie:

(True, True)
(False, True)
 

Exercice 4:

Comment le code suivant pourrait-il être amélioré ?

open = None

if open != None:
    print("Open")
else:
    print("Not open!")
Solution:

Bien que le code ci-dessus fonctionne, la façon recommandée d’écrire la clause if dans ce cas serait: if open is not None:

 

6. Laquelle des expressions suivantes n’est pas une expression booléenne, et pourquoi ?

A 5 < 2

B 2 < 3

C 3.5 <= 7

D 3 = 7

E myVar is not None

D
L'option D n'est pas une expression booléenne, il devrait s'agir d'une expression à double égalité ==, et non à simple égalité =. Les égalités simples sont utilisées pour l'affectation, comme dans message = "Hello". Certaines autres sont évaluées à False, ce qui n'est pas grave, ce sont toujours des expressions booléennes valides. L'option E pourrait lever une exception si myVar n'est pas définie, mais il est valide par ailleurs.

 

 

7. Qu'affiche le code suivant ?
b = True

print(b and not b)
print(b or not b)

A True True

B True False

C False True

D False False

C
(True and not True) -> (True and False) -> False
(True or not True) -> (True or False) -> True

 

 

8. Qu'affiche le code suivant ?
level = 3
time = "PM"
cold = 75

print(level > 5 and time == "PM" or cold < 90)

A True

B False

A
(level > 5 and time == "PM" or cold < 90)
-> (False and True or True)
-> (False or True)
-> True

L'ordre des opérations de l'algèbre booléenne, de la plus haute à la plus basse priorité, est NOT, puis AND, puis OR.

 

 

9. Quelle est la valeur de myvar après l'exécution du code suivant ?
myvar = True and False or False or True

A True

B False

A
True. L'expression AND est évaluée en premier et vaut False. Mais comme le dernier terme de la clause OR est True, myvar s'évalue à true.

 

 

10. Dans le code suivant, quelles expressions sont évaluées ?
a = 10
b = 30
result = b > 50 or a == 10

A b > 50

B a == 10

C Les deux A et B

D Ni A ni B

C
Les deux sont évaluées. La première comparaison est évaluée à False, mais comme il s'agit d'une instruction « Or », l'évaluation doit se poursuivre pour voir si la seconde comparaison est True.

 

 

Éditeur de code Python: Testez votre code en ligne!


 
QCM Python

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *