Série (TD et TP) : Rappels
1 Exercice
Un nombre est dit parfait si il est la somme des ses diviseurs (sans lui même). Exemple le nombre 28 =
1+2+4+7+14 est un nombre parfait.
→ Écrire un algorithme permettant de tester si un entier est parfait
→ Écrire un programme Python permettant de saisir un entier x et de retourner parfait si x est parfait et
non parfait si x n’est pas parfait
→ Modifier le programme pour afficher la liste des nombres parfaits entre 1 et 100.
2 Exercice
Soit la liste L =[2,4,6,8,10,12,14,16,18,20,22,24,26,28,30].
→ Rappeler le Slicing sur les exemples suivants : L=[1,2,3,4], S=”Rabat Casa Agadir”, T=(1,2,3,4,5).
→ Utiliser le Slicing pour inverser la liste L ?
→ Utiliser le Slicing pour extraire de L la liste [8,10,12]
→ Définir la liste L par compréhension soit T cette liste
→ Définir une liste R par compréhension contenant les éléments multiples de 3 et de 7 entre 20 et 100]
⇒ Comparer les trois types list, str, et tuple en terme de mutable et immuable
3 Exercice
Une banque gère les comptes de ces clients par une liste L en Python. Chaque élément de la liste est une
liste de trois éléments : nom, âge et solde (le montant de son compte bancaire).
Exemple :L=[ [’omar’,23,1500], [’khadija’,15, -200], [’sara’,23,1500],[’hamza’,23, -100],[’mohamed’,23,1500]]
Dans cet exemple la banque à cinq clients, par exemple le compte : omar âgé de 23 le solde de son compte
est 1500.
→ Écrire un programme Python permettant de construire la liste L des clients ; saisir d’abord n le nombre
de clients, pour chaque client saisir son nom, son age et son solde.
→ Ensuite construire (à partir de L) par compréhension la liste N des noms de clients dont le solde est
négatif. Dans l’exemple précédent N=[‘Khadija’, ‘hamza’]
→ Ensuite, saisir le nom d’un client et un montant à accréditer ou à débiter au solde de ce client (négatif
pour débiter et positif pour accréditer).
→ Ensuite construire par compréhension la liste des clients dont l’âge est inférieur à 18 ans et le solde est
négatif.
4 Exercice
Soit le dictionnaire D= { ”Ali” :23, ”Sara” :20, ”Linda” :21, ”Adil” :24, ”Hind” :25, ”Mohamed” :19 }
les clés représentent les noms et les valeurs représentent l’âge.
→ Comment inverser les clés et les valeurs de manière simple, c’est à dire on aura T={23 :”Ali”, 20 :”Sara” :
21 :”Linda”, 24 :”Adil”, 25 :”Hind”, 19 :”Mohamed”}
→ Retourner les clés et les valeurs d’un dictionnaire dans deux listes triées.
→ On désire connaitre les noms et l’age (sous forme d’un dictionnaire) de ceux qui ont un âge supérieur ou
égale à 22.