0% ont trouvé ce document utile (0 vote)
51 vues4 pages

TD2 Solution

Transféré par

hasnaezzaouchi
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)
51 vues4 pages

TD2 Solution

Transféré par

hasnaezzaouchi
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

TD2

Exercice 1 :
Écrivez une fonction somme_liste qui prend une liste de nombres (type List[int]) et
retourne la somme de ses éléments.
Solution

from typing import List

def somme_liste(numbers: List[int]) -> int:

"""
Cette fonction prend une liste de nombres entiers et retourne leur somme en
utilisant une boucle.
:param numbers: Liste d'entiers à additionner
:return: Somme des éléments de la liste
"""
total: int = 0 # Initialise la somme à 0
for number in numbers:
total += number # Ajoute chaque élément de la liste à la somme
return total
# Exemple d'utilisation
resultat = somme_liste([1, 2, 3, 4])
print(resultat) # Sortie : 10
Exercice 2 :
Écrivez une fonction max_liste qui prend une liste de nombres (type List[float]) et
retourne le plus grand élément.
Solution

from typing import List

def max_liste(numbers: List[float]) -> float:

return max(numbers)
# Exemple d'utilisation
resultat = max_liste([1.1, 3.5, 2.8, 4.0])
print(resultat) # Sortie : 4.0

Exercice 3 :
Écrivez une fonction filtrer_pairs qui prend une liste de nombres entiers et retourne
une nouvelle liste contenant uniquement les nombres pairs.
Sollution

from typing import List

def filtrer_pairs(numbers: List[int]) -> List[int]:


result: List[int] = []

for number in numbers:

if number % 2 == 0:

result.append(number)

return result
# Exemple d'utilisation
resultat = filtrer_pairs([1, 2, 3, 4, 5, 6])
print(resultat) # Sortie : [2, 4, 6]
Exercice 4 :
Écrivez une fonction concatener_listes qui prend deux listes (type List[str]) et retourne
une liste concaténée.
sollution

from typing import List

def concatener_listes(list1: List[str], list2: List[str]) -> List[str]:

return list1 + list2


# Exemple d'utilisation
resultat = concatener_listes(["a", "b"], ["c", "d"])
print(resultat) # Sortie : ['a', 'b', 'c', 'd']

Exercice 5 :
Écrivez une fonction est_triee qui prend une liste d'entiers et retourne un booléen
indiquant si la liste est triée par ordre croissant.
Solution

from typing import List

def est_triee(numbers: List[int]) -> bool:

for i in range(len(numbers) - 1):

if numbers[i] > numbers[i + 1]:

return False

return True

# Exemple d'utilisation

resultat = est_triee([1, 2, 3, 4])


print(resultat) # Sortie : True
resultat = est_triee([4, 3, 2, 1])
print(resultat) # Sortie : False
Exercice 6 :
Écrivez une fonction inverser_liste qui prend une liste d'entiers (type List[int]) et
retourne une nouvelle liste contenant les éléments dans l'ordre inverse.
Solution

from typing import List

def inverser_liste(numbers: List[int]) -> List[int]:

return numbers[::-1]
# Exemple d'utilisation
resultat = inverser_liste([1, 2, 3, 4, 5])
print(resultat) # Sortie : [5, 4, 3, 2, 1]
Exercice 7 :

Écrivez une fonction elements_uniques qui prend une liste d'entiers et retourne une
liste contenant uniquement les éléments uniques, sans changer l'ordre d'apparition.
solution

from typing import List

def elements_uniques(numbers: List[int]) -> List[int]:

uniques = []

for number in numbers:

if number not in uniques:

uniques.append(number)
return uniques
# Exemple d'utilisation
resultat = elements_uniques([1, 2, 2, 3, 4, 4, 5])
print(resultat) # Sortie : [1, 2, 3, 4, 5]
Exercice 8 :
Écrivez une fonction calculer_mediane qui prend une liste de nombres et retourne la
médiane. La médiane est :
● Le nombre au milieu si la taille de la liste est impaire.
● La moyenne des deux nombres du milieu si la taille de la liste est paire.
NB : il faut trier la liste avant de calculer la médiane en utilisant la fonction sort().
Solution

from typing import List

def calculer_mediane(numbers: List[float]) -> float:

sorted_numbers = sort(numbers)
n = len(sorted_numbers)

if n % 2 == 1:

return sorted_numbers[n // 2]

else:

milieu1, milieu2 = sorted_numbers[n // 2 - 1], sorted_numbers[n // 2]

return (milieu1 + milieu2) / 2


# Exemple d'utilisation
resultat = calculer_mediane([7, 3, 1, 4, 2])
print(resultat) # Sortie : 3
resultat = calculer_mediane([7, 3, 1, 4])
print(resultat) # Sortie : 3.5

Vous aimerez peut-être aussi