>>> produit_complexe((2.0,3.0), (0.0,1.0))
(-3.0,2.0)
Remarque : les nombres complexes existent en fait en Python. Ils ont pour type complex.
Exercice 2 : Nombre d’occurrence du maximum dans une
liste
Cet exercice montre l’utilisation de n-uplet pour améliorer l’efficacité de la résolution d’un
problème.
Question 1
Dans l’exercice 2 du Thème 6, nous avons écrit une fonction (
nb_max
) permettant de calculer
le nombre de fois que le maximum d’une liste apparaît dans cette liste. La solution proposée
consistait à parcourir une première fois la liste pour déterminer le maximum, puis une seconde
fois pour compter le nombre d’occurrences de ce maximum.
Afin d’améliorer l’efficacité de cette fonction, on aimerait ne parcourir qu’une seule fois la liste
afin de déterminer à la fois le maximum et le nombre d’occurrences de ce dernier.
Donner la spécification et une définition en Python de la fonction
nb_de_max
qui, étant donnée
une liste non vide de nombres, renvoie un couple contenant le maximum et le nombre de fois où
ce maximum apparaît dans la liste. Par exemple
>>> nb_de_max([10])
(10,1)
>>> nb_de_max([3,7,9,5.4,8.9,9,8.999,5])
(9,2)
>>> nb_de_max([-2, -1, -5, -3, -1, -4, -1])
(-1,3)
Exercice 3 : Fractions
Dans cet exercice, nous manipulons des fractions rationnelles représentées par le type :
tuple[int, int]
Par exemple, la fraction 2
3est représentée par le couple (2, 3) en Python.
3