0% ont trouvé ce document utile (0 vote)
5 vues3 pages

TP2 Python For AI

Le document présente un TP de programmation Python axé sur les structures de données et le calcul d'indicateurs statistiques. Il propose des exercices pour développer des fonctions telles que maximum, minimum, moyenne, médiane, variance, écart type, et étendue, ainsi qu'une manipulation de données météorologiques sous forme de dictionnaires. Les étudiants doivent également attribuer des scores basés sur des critères météorologiques pour identifier les meilleurs et pires jours du mois de janvier.

Transféré par

aitlabbadeh
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues3 pages

TP2 Python For AI

Le document présente un TP de programmation Python axé sur les structures de données et le calcul d'indicateurs statistiques. Il propose des exercices pour développer des fonctions telles que maximum, minimum, moyenne, médiane, variance, écart type, et étendue, ainsi qu'une manipulation de données météorologiques sous forme de dictionnaires. Les étudiants doivent également attribuer des scores basés sur des critères météorologiques pour identifier les meilleurs et pires jours du mois de janvier.

Transféré par

aitlabbadeh
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université Mohammed V M.2.3.3.

Programmation Python pour l'IA


ENSIAS Responsable du Module : Pr RACHAD
Année universitaire 2025-2026

TP2 : Les structures de données Python


Exercice 1 :
On considère une liste non vide 𝐿 = [𝑥! , 𝑥" , … , 𝑥# ]de nombres réels.

Dans cet exercice, on souhaite développer un petit module Python permettant de calculer des indicateurs
statistiques de base, très utilisés en prétraitement de données en intelligence artificielle.

Question 1 : Écrire une fonction maximum(L) qui retourne la valeur maximale d’une liste de
nombres, sans utiliser la fonction prédéfinie max().

Question 2 : Écrire une fonction minimum(L) qui retourne la valeur minimale d’une liste de
nombres, sans utiliser la fonction prédéfinie min().

Question 3 : Écrire une fonction moyenne(L) qui retourne la moyenne arithmétique des
éléments de la liste 𝐿, sans utiliser sum().
"
1
𝑥¯ = ' 𝑥!
𝑛
!#$
Question 4 : Écrire une fonction mediane(L) qui retourne la médiane de la liste :

• si la taille de la liste est impaire, la médiane est la valeur centrale ;


• si la taille est paire, la médiane est la moyenne des deux valeurs centrales.

Indication : utiliser une copie triée de la liste avec sorted(L) plutôt que [Link]() afin de ne pas
modifier la liste originale.

Question 5 : Écrire une fonction variance(L) qui retourne la variance de la liste :


"
1
𝑉 = '( 𝑥! − 𝑥¯)%
𝑛
!#$
Question 6 : Écrire une fonction ecart_type(L) qui retourne l’écart type de la liste :

𝜎 = √𝑉

Question 7 : Écrire une fonction etendue(L) qui retourne l’étendue de la série :


eˊ tendue = max(𝐿) − min(𝐿)
Question 8 : Écrire une fonction resume_statistique(L) qui retourne, sous forme de
dictionnaire, les informations suivantes :minimum ; maximum ; moyenne ; médiane ; variance
; écart type ; étendue.

1
Université Mohammed V M.2.3.3. Programmation Python pour l'IA
ENSIAS Responsable du Module : Pr RACHAD
Année universitaire 2025-2026

Exercice 2 :
Dans cet exercice, on désire de manipuler des données météorologiques sous formes de
dictionnaires. On se limite pour le moment à un seul dictionnaire comportant les données
météorologiques qui concernent le mois de janvier.

Les clés du dictionnaire sont les jour du mois et les valeurs correspondent à des sous
dictionnaires contenant la température, l'humidité, les précipitations, et les vitesse du vent.

• Data[1] correspond à un dictionnaire comportant les données enregistrées pendant le


premier jour de janvier
• Data[1]["temperature"] correspond à la température enregistrée le 01 janvier
• Data[1]["humidite"] correspond à l’humidité enregistrée le 01 janvier
• Data[1] ["precipitations"] correspond au taux de précipitations enregistrées le 01 janvier
• Data[1] ["vent"] correspond à la vitesse du vent enregistrées le 01 janvier
• …

Nous considérons le code ci-dessous pour la génération des données d’une façons aléatoire pour
le mois de janvier :

import random

data = {
jour: {
" temperature ": [Link](0, 40), # Température entre 0 et 40°C
"humidite": [Link](40, 90), # Humidité entre 40% et 90%
"precipitations": [Link](0, 20) # Précipitations entre 0 et 20 mm
"vent": [Link](0, 100) # Vitesse du vent entre 0 et 100 km/h
}
for jour in range(1, 31)
}

Question 1 : Écrire une fonction temperatures_uniques(data) qui retourne les températures


uniques enregistrées pendant ce mois. Pour ce faire, vous vous basez sur une structure de type
set (ensemble)

Question 2 : Écrire une fonction jour_pluvieux(data) qui retourne la liste des jours pluvieux
(précipitations > 0).

Question 3 : Écrire une fonction jours_extrems(data) qui retourne la liste des jours avec des
températures extrêmes ( <5°C ou >35°C).

Question 4 : Écrire une fonction temperature_moyenne(data) qui retourne la température


moyenne du mois.

2
Université Mohammed V M.2.3.3. Programmation Python pour l'IA
ENSIAS Responsable du Module : Pr RACHAD
Année universitaire 2025-2026

Maintenant, nous souhaitons identifier les meilleurs et les pires jours du mois en nous basant
sur des scores que nous attribuons à chaque jour du mois, selon les critères cités dans le tableau
ci-dessous :

Critère Plage de valeurs Points attribués


Température 18-28°C 40
10-18°C ou 28-32°C 30
<10°C ou >32°C 10
Humidité 40-70% 20
30-40% ou 70-80% 10
<30% ou >80% 5
Précipitations 0-2 mm 20
2-10 mm 10
>10 mm 0
Vent 0-30 km/h 20
30-60 km/h 10
>60 km/h 0

Question 5 : Écrire une fonction score(data) qui retourne une liste de tuples où la première
composante du tuple correspond au jour du mois et la deuxième composante correspond à son
score
Question 6 : Déduire le meilleur et le pire des jours du mois

Vous aimerez peut-être aussi