2023-07-03 17:54:40 +02:00
## Mystère
2021-09-01 18:26:16 +02:00
2023-07-03 17:54:40 +02:00
### Description
2021-09-01 18:26:16 +02:00
L'idée de ce TP est de manipuler les expressions booléennes.
Pour cela, vous allez devoir programmer des fonctions booléennes.
2023-07-03 17:54:40 +02:00
A chaque fonction `mystere` suivante, sont données des doctests. Ces doctests correspondent aux valeurs des tables de vérités.
2021-09-01 18:26:16 +02:00
2023-07-03 17:54:40 +02:00
### Consignes
2021-09-01 18:26:16 +02:00
Recopier le bloc de code suivant dans un fichier `mystere.py`
Vous devez écrire le corps de la fonction sous la forme d'une expression booléenne, dont les variables correspondent aux paramètres d'entrée fournis.
```python
def mystere1(a):
'''
2023-07-03 17:54:40 +02:00
Cette fonction renvoie l'inverse du paramètre a.
>>> mystere1(True)
False
>>> mystere1(False)
True
2021-09-01 18:26:16 +02:00
'''
2023-07-03 17:54:40 +02:00
# Votre code ici.
2021-09-01 18:26:16 +02:00
pass
def mystere2(a, b):
'''
2023-07-03 17:54:40 +02:00
Cette fonction renvoie True si au moins l'un des paramètres est True.
>>> mystere2(True, True)
True
>>> mystere2(True, False)
True
>>> mystere2(False, True)
True
>>> mystere2(False, False)
False
2021-09-01 18:26:16 +02:00
'''
2023-07-03 17:54:40 +02:00
# Votre code ici.
2021-09-01 18:26:16 +02:00
pass
def mystere3(a, b):
'''
2023-07-03 17:54:40 +02:00
Cette fonction renvoie True si les paramètres sont différents l'un de l'autre.
>>> mystere3(True, True)
False
>>> mystere3(True, False)
True
>>> mystere3(False, True)
True
>>> mystere3(False, False)
False
2021-09-01 18:26:16 +02:00
'''
2023-07-03 17:54:40 +02:00
# Votre code ici.
2021-09-01 18:26:16 +02:00
pass
def mystere4(a, b):
'''
2023-07-03 17:54:40 +02:00
Cette fonction renvoie True seulement si les deux paramètres sont False.
>>> mystere4(True, True)
False
>>> mystere4(True, False)
False
>>> mystere4(False, True)
False
>>> mystere4(False, False)
True
2021-09-01 18:26:16 +02:00
'''
2023-07-03 17:54:40 +02:00
# Votre code ici.
2021-09-01 18:26:16 +02:00
pass
def mystere5(a, b):
'''
2023-07-03 17:54:40 +02:00
Cette fonction est une équivalence, elle renvoie True si les deux paramètres ont la même valeur.
>>> mystere5(True, True)
True
>>> mystere5(True, False)
False
>>> mystere5(False, True)
False
>>> mystere5(False, False)
True
2021-09-01 18:26:16 +02:00
'''
2023-07-03 17:54:40 +02:00
# Votre code ici.
2021-09-01 18:26:16 +02:00
pass
def mystere6(a, b):
'''
2023-07-03 17:54:40 +02:00
Cette fonction renvoie True si le premier paramètre est True et le deuxième est False.
>>> mystere6(True, True)
False
>>> mystere6(True, False)
True
>>> mystere6(False, True)
False
>>> mystere6(False, False)
False
2021-09-01 18:26:16 +02:00
'''
2023-07-03 17:54:40 +02:00
# Votre code ici.
2021-09-01 18:26:16 +02:00
pass
def mystere7(a, b):
'''
2023-07-03 17:54:40 +02:00
Cette fonction renvoie True si le premier paramètre est False et le deuxième est True, ou si les deux paramètres sont False.
>>> mystere7(True, True)
False
>>> mystere7(True, False)
True
>>> mystere7(False, True)
False
>>> mystere7(False, False)
True
2021-09-01 18:26:16 +02:00
'''
2023-07-03 17:54:40 +02:00
# Votre code ici.
2021-09-01 18:26:16 +02:00
pass
if __name__ == '__main__':
import doctest
2023-07-03 17:54:40 +02:00
doctest.testmod(verbose=True)
```
A la fin de ce TP, n'oubliez pas de vérifier que toutes les fonctions passent les doctests. Vous pouvez exécuter votre fichier Python en ligne de commande pour voir les résultats des tests. Si une fonction ne passe pas un doctest, revoyez votre logique booléenne pour cette fonction et essayez à nouveau.
Auteur : Florian Mathieu
Licence CC BY NC
< a rel = "license" href = "http://creativecommons.org/licenses/by-nc-sa/4.0/" > < img alt = "Licence Creative Commons" style = "border-width:0" src = "https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" / > < / a > < br / > Ce cours est mis à disposition selon les termes de la < a rel = "license" href = "http://creativecommons.org/licenses/by-nc-sa/4.0/" > Licence Creative Commons Attribution - Pas d’ Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International< / a > .