Les collections sont des types de données qui contiennent plusieurs données. Nous avons vu :
str
)list
)tuple
)dict
)Les Dictionnairs (dict
) sont des collections non ordonnées de couples clef-valeur.
Les questions suivantes vont vous faire manipuler les instructions principales.
La cellule suivante crée un dictionnaire vide.
In [ ]:
training = {}
Ajoutez une clef subject
avec la valeur Python
In [ ]:
Ajoutez une clef duration
avec la valeur correspondant au nombre de jours de formation (ce nombre de jours est un entier
In [ ]:
Affichez "Clef exist" si la clef trainees
existe sinon "Clef n'existe pas"
In [ ]:
Créez la clef trainees
et affectez lui une valeur correspondant au nombre de stagiaires.
In [ ]:
Affichez la liste des clefs
In [ ]:
Modifiez la clef trainees
pour que la valeur associée soit incrémentée de 2. Attention, n'affectez pas une nouvelle valeur mais la valeur actuelle incrémentée de 2.
In [ ]:
Vous avez remarqué que les différentes questions précédentes permettent d'utiliser un dictionnaire comme structure de données et qu'ainsi, il est possible de modifier certaines informations de ces structures de données.
Nous pouvons accéder directement à ces informations par leur clef, mais cela nécessite de connaitre les clefs. Et une faute d'orthographe peut entrainer des erreurs de manière parfaitement silencieuse. Par exemple :
training = {}
training["subject"] = "Pthon"
# Oups, erreur, il faut corriger
training["suject"] = "Python"
Dans cet exemple, la dernière ligne ne corrige pas la clef mais en ajoute une nouvelle. Mais la valeur incorrecte n'est pas corrigée et restera fausse.
Pour éviter ce type d'erreur, nous allons utiliser des fonctions.
Commencez par créer le corps de la fonction suivante qui retourne un dictionnaire avec une clef subject
et une clef duration
.
In [ ]:
def create_training(subject: str, duration: int):
pass # TODO: remplacez le pass par l'implémentation
Créez une fonction add_trainees
ajoutant un nombre de participant (le paramètre est de type int
)
In [ ]:
Attention, n'oubliez pas un idiome en Python : si vous modifiez la valeur, alors la fonction ne doit rien retourner. Si la fonction retourne un dictionnaire représentant la formation, alors la donnée passée en paramètre ne doit pas être modifiée.
In [ ]:
Pour finir, créez une fonction should_cancel_training
qui retournera True
si la formation a strictement moins de 3 participants, False
sinon.
In [ ]:
Écrivez le code affichant le message adéquat dans la cellule suivante.
In [ ]:
TRAINING_CANCELED = "La formation {} est annulée"
TRAINING_MAINTAINED = "La formation {} est maintenue"
In [ ]: