ajout exercices dictionnaires et correction

This commit is contained in:
2023-07-07 12:10:43 +02:00
parent 421fca780b
commit 77332bf319
3 changed files with 219 additions and 13 deletions

View File

@@ -114,11 +114,11 @@ for (cle, val) in perso.items():
print(cle, "->", val)
```
Par défaut, on itère sur les clés.
Par défaut, on itère sur les clés.
--------
### À retenir
## À retenir
| Opération | Résultat |
| ---------------------- | ------------------------------------------------------------ |
@@ -128,4 +128,12 @@ for (cle, val) in perso.items():
| x in dico.keys() | renvoie True si une clé de dico est égale à x, False sinon |
| dico[k] = v | Modifie la valeur v associée à la clé k ou l'ajoute si elle n'existe pas |
| dico.get(k, v) | Renvoie la valeur associé à la clé k. Si la clé k n'existe pas, renvoie la valeur v |
| del dico(k) | Enlève du dictionnaire la clé k |
| del dico(k) | Enlève du dictionnaire la clé k |
----------
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 dUtilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International</a>.

View File

@@ -1,6 +1,6 @@
## Exercice
### Exercice 1
### Itérer sur les éléments d'un dictionnaire
#### Itérer sur les éléments d'un dictionnaire
Au zoo de Beauval, il y a 5 éléphants d'Asie, 17 écureuils d'Asie, 7 hippopotames d'Afrique...
@@ -29,7 +29,7 @@ zoo_LaFleche = {
#### Question n°1
##### Question n°1
On souhaite créer une fonction *plus_grand_nombre* ( ) qui prend un zoo en paramètre et renvoie le nom de l'animal le plus présent au sein du zoo.
@@ -78,7 +78,7 @@ def plus_grand_nombre(zoo):
Note : ici, la variable **x** fait référence à une donnée que nous n'utilisons pas.
#### Question n°2
##### Question n°2
On souhaite se doter d'une fonction *nombre_total* ( ) qui prend un zoo ainsi que le nom d'un continent en paramètre, et qui renvoie le nombre d'animaux originaires de ce continent dans le zoo.
@@ -125,7 +125,7 @@ def nombre_total(zoo, continent):
#### Question n°3
##### Question n°3
Enfin, on souhaite écrire une fonction nombre, qui prendun zoo ainsi qu'un nom d'animal en paramètre, et qui renvoie le nombre de représentants de cet animal dans le zoo.
@@ -164,3 +164,119 @@ def nombre(zoo, animal):
return zoo[animal][1]
```
--------
### Exercice 2
##### Question 1
```python
# Création du dictionnaire
livre = {
"titre": "1984",
"auteur": "George Orwell",
"annee_publication": 1949
}
# Modification des informations
livre["annee_publication"] = 1950
# On affiche des détails du livre
for cle, valeur in livre.items():
print(f"{cle}: {valeur}")
```
##### Question 2
```python
# Création du dictionnaire
liste_courses = {
"pommes": 5,
"bananes": 10,
"lait": 2
}
# Parcours du dictionnaire et affichage des articles
for article, quantite in liste_courses.items():
print(f"{article}: {quantite}")
```
##### Question 3
```python
# Définir une fonction pour vérifier si une clé est dans un dictionnaire
def est_present(dictionnaire, cle):
if cle in dictionnaire:
return True
else:
return False
# Test
dictionnaire_test = {"pomme": 1, "banane": 2, "cerise": 3}
(est_present(dictionnaire_test, "pomme"))
True
(est_present(dictionnaire_test, "orange"))
False
```
##### Question 4
```python
# Créer un carnet d'adresses vide
carnet_adresses = {}
# Définir une fonction pour ajouter un nouveau contact
def ajouter_contact(nom, telephone):
carnet_adresses[nom] = telephone
# Définir une fonction pour modifier un contact existant
def modifier_contact(nom, telephone):
if nom in carnet_adresses:
carnet_adresses[nom] = telephone
# Définir une fonction pour supprimer un contact
def supprimer_contact(nom):
if nom in carnet_adresses:
del carnet_adresses[nom]
# Tester les fonctions
ajouter_contact("Alice", "06-12-34-56-78")
ajouter_contact("Bob", "06-87-65-43-21")
modifier_contact("Alice", "07-12-34-56-78")
supprimer_contact("Bob")
# Afficher le carnet d'adresses pour vérifier qu'il fonctionne correctement
print(carnet_adresses)
```
##### Question 5
```python
# Définir une fonction pour vérifier si une clé est dans un dictionnaire
def est_present(dictionnaire, cle):
if cle in dictionnaire:
return True
else:
return False
# Test
dictionnaire_test = {"pomme": 1, "banane": 2, "cerise": 3}
(est_present(dictionnaire_test, "pomme"))
True
(est_present(dictionnaire_test, "orange"))
False
```

View File

@@ -1,6 +1,8 @@
## Exercice
## Exercices
### Itérer sur les éléments d'un dictionnaire
### Exercice 1
#### Itérer sur les éléments d'un dictionnaire
Au zoo de Beauval, il y a 5 éléphants d'Asie, 17 écureuils d'Asie, 7 hippopotames d'Afrique...
@@ -29,7 +31,7 @@ zoo_LaFleche = {
#### Question n°1
##### Question n°1
On souhaite créer une fonction *plus_grand_nombre* ( ) qui prend un zoo en paramètre et renvoie le nom de l'animal le plus présent au sein du zoo.
@@ -70,7 +72,7 @@ def plus_grand_nombre(zoo):
#### Question n°2
##### Question n°2
On souhaite se doter d'une fonction *nombre_total* ( ) qui prend un zoo ainsi que le nom d'un continent en paramètre, et qui renvoie le nombre d'animaux originaires de ce continent dans le zoo.
@@ -112,7 +114,7 @@ def nombre_total(zoo, continent):
#### Question n°3
##### Question n°3
Enfin, on souhaite écrire une fonction nombre, qui prendun zoo ainsi qu'un nom d'animal en paramètre, et qui renvoie le nombre de représentants de cet animal dans le zoo.
@@ -146,3 +148,83 @@ def nombre(zoo, animal):
pass
```
--------
### Exercice 2
#### Question 1
- **Utilisation de base des dictionnaires :** Créer un dictionnaire pour stocker les informations d'un livre, comme le titre, l'auteur et l'année de publication. Puis, ajouter des instructions pour modifier ces informations et afficher les détails du livre.
Exemple :
```python
titre: 1984
auteur: George Orwell
annee_publication: 1950
```
#### Question 2
- **Parcours d'un dictionnaire :** Créer un dictionnaire pour stocker une liste de courses, avec le nom de l'article comme clé et la quantité nécessaire comme valeur. Ensuite, écrire un programme qui parcourt le dictionnaire et affiche chaque article et sa quantité.
Exemple :
```python
pommes: 5
bananes: 10
lait: 2
```
#### Question 3
- **Dictionnaire et liste :** Créer un programme qui prend une liste de nombres et renvoie un dictionnaire avec la fréquence de chaque nombre dans la liste.
Exemple :
```python
(compter_frequences([1, 2, 2, 3, 3, 3]))
>> {1: 1, 2: 2, 3: 3}
```
#### Question 4
- **Gestion de données : **Créer un carnet d'adresses simple en utilisant un dictionnaire. Le carnet d'adresses doit être capable d'ajouter, de modifier et de supprimer des contacts.
Exemple :
```python
{'Alice': '07-12-34-56-78'}
```
#### Question 5
- **Recherche dans un dictionnaire :** Écrire une fonction qui vérifie si une clé donnée est présente dans un dictionnaire.
Exemple :
```python
>>> (est_present(dictionnaire_test, "pomme"))
True
>>> (est_present(dictionnaire_test, "orange"))
False
```