TD2. Opérateurs booléens
L'objectif de ce TD est de se familiariser avec les opérateurs logiques calculant une valeur booléenne, c'est-à-dire True
ou False
en Python, et avec la structure de contrôle conditionnelle if
.
Exercice 1 : opérateurs logiques
On considère le programme suivant :
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
Question 1
Exécuter le programme en notant la valeur des différentes variables au cours de l'exécution.
Exercice 2 : réécritures
On considère le programme suivant :
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Question 1
Comment simplifier ce code ?
Question 2
En sachant que int(False)
vaut 0
et que int(True)
vaut 1
, trouver une expression arithmétique calculant la valeur de b
en fonction de a
.
Question 3
On suppose maintenant que a
est entier compris entre 0
et 6
.
À l'aide d'un tuple de 7 éléments, supprimer toutes les comparaisons pour affecter la bonne valeur à b
.
Exercice 3 : date correcte
Question 1
Écrire la fonction date_correcte(jour, mois, annee)
retournant True
si les trois entiers donnés en argument forment une date correcte et False
sinon. On considère pour cette première question que le mois de février a toujours 28 jours.
Question 2
Prendre en compte les années bissextiles. Une année est bissextile si elle rentre dans l'un des deux cas suivants :
- l'année est divisible par 4 et non divisible par 100 ;
- l'année est divisible par 400.
Par exemple, l'an 2000 était bissextile mais 2100 ne le sera pas.
Exercice 4 : fizzbuzz (pour aller plus loin)
Question 1
Écrire le plus "joliment" possible une fonction fizzbuzz(nombre)
retournant :
"fizz"
sinombre
est un multiple de 3"buzz"
sinombre
est un multiple de 5"fizzbuzz"
sinombre
est un multiple de 3 et de 5str(nombre)
sinon