Exercice 40
Créer une fonction en Python qui prend en entrée deux dictionnaires représentant des données météorologiques pour différentes villes, et fusionnez-les en un seul dictionnaire avec la moyenne des températures pour chaque ville.
Exemple pour le cas des deux dictionnaires suivants:
1 2 |
donnees_ville1 = {'Paris': 20, 'Berlin': 18, 'Londres': 22} donnees_ville2 = {'Paris': 18, 'Madrid': 25, 'Londres': 20} |
la fonction renvoie le dictionnaire:
1 |
{'Paris': 19.0, 'Berlin': 18, 'Londres': 21.0, 'Madrid': 25} |
Solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
def fusionner_donnees_meteo(donnees_ville1, donnees_ville2): # initialiser le dictionnaire demandé donnees_fusionnees = {} # parcourir les ville et températures des donnees_ville1 # Les comparer ensuite aux donnees_ville2 et fusionner ensuite les résultats for ville, temp1 in donnees_ville1.items(): if ville in donnees_ville2: temp2 = donnees_ville2[ville] temperature_moyenne = (temp1 + temp2) / 2 donnees_fusionnees[ville] = temperature_moyenne else: donnees_fusionnees[ville] = temp1 # Ajouter les données pour les villes présentes uniquement dans le deuxième dictionnaire for ville, temp2 in donnees_ville2.items(): if ville not in donnees_ville1: donnees_fusionnees[ville] = temp2 return donnees_fusionnees # Exemple d'utilisation : donnees_ville1 = {'Paris': 20, 'Berlin': 18, 'Londres': 22} donnees_ville2 = {'Paris': 18, 'Madrid': 25, 'Londres': 20} resultat = fusionner_donnees_meteo(donnees_ville1, donnees_ville2) print(resultat) # output: {'Paris': 19.0, 'Berlin': 18, 'Londres': 21.0, 'Madrid': 25} |
Younes Derfoufi
CRMEF OUJDA