MatheX – Licence CC BY-NC-SA 4.0 - https://www.mathexien.com
Objectifs:
- Introduire Python pour les élèves de 2nd
- Synthétiser les connaissances en programmation pour les élèves de 2nd et de 1ère spé Maths
- Mettre en place des fondamentaux sur Python en début de 1ère spé NSI
Méthodologie:
Lire l'activité
Réaliser les missions en programmant sur un environnement de développement:
- en ligne ( notebook, repl.it, pythontutor , ...)
- installé sur votre ordinateur ( idle de Python, Thonny, Pycharm Community, ...)
Visionner la vidéo de l'épisode pour plus d'explications et pour la correction
Objectifs:
- Introduire le concept de liste
- Programmer en utilisant des listes
Nous avons vue en #2 les variables et les types de base: int , float, str et bool.
Mais nous avons parfois besoin de manipuler non pas une seule donnée mais plutôt un ensemble de données.
Pour cela, nous pouvons utiliser un type construit ( pas de base) Python: list
Une liste Python est un ensemble dont les éléments sont:
Voici des exemples illustrant comment manipuler des listes:
xxxxxxxxxx
361# création d'une liste
2maListe1 = [ ] # création d'une liste vide
3maListe2 = [ 1 , 2 , 3 ] # création d'une liste avec 3 données (int, int, int)
4maListe3 = [ 1 , 'Hello' , True ] # création d'une liste avec 3 données (int, str, bool)
5maListe4 = [ maListe2 , maListe3 , 3 ] # création d'une liste avec 3 données (list, list, int)
6print(maListe1,maListe2,maListe3,maListe4)
7
8# ajout d'un élément à la fin d'une liste: méthode append()
9maListe1.append(7) # on ajoute 7 (int) à maListe1 (qui était vide)
10maListe2.append(4) # on ajoute 4 (int) à la fin de maListe2
11maListe3.append(3.14) # on ajoute 3.14 (float) à la fin de maListe3
12maListe4.append(maListe2) # on ajoute maListe2 (list) à la fin de maListe2
13print(maListe1,maListe2,maListe3,maListe4)
14
15# la longueur ( = nombre d'éléments) de la liste: méthode len()
16print(len(maListe1),len(maListe2),len(maListe3),len(maListe4))
17
18# récupération du ième élément de la liste: list[i]
19print(maListe2[0],maListe2[1],maListe2[2], maListe2[3]) # premier indice: 0 ; dernier indice: len(list)-1
20print(maListe4[1]) # deuxième élément de maListe4: c'est une liste
21print(maListe4[1][2]) # troisième élément du deuxième élément de maListe4
22
23# modification du ième élément de la liste: list[i] =
24maListe2[3] = 5
25print(maListe2)
26
27# suppression du dernier élémentd'une liste: méthode pop()
28maListe2.pop()
29print(maListe2)
30
31# boucle bornée sur les éléments d'une liste
32for i in range(len(maListe2)):
33 print(maListe2[i])
34# on peut aussi itérer directement sur les éléments de la liste (au lieu des indices)
35for elt in maListe2:
36 print(elt)
xxxxxxxxxx
141[] [1, 2, 3] [1, 'Hello', True] [[1, 2, 3], [1, 'Hello', True], 3]
2[7] [1, 2, 3, 4] [1, 'Hello', True, 3.14] [[1, 2, 3, 4], [1, 'Hello', True, 3.14], 3, [1, 2, 3, 4]]
31 4 4 4
41 2 3 4
5[1, 'Hello', True, 3.14]
6True
7[1, 2, 3, 5]
8[1, 2, 3]
91
102
113
121
132
143
Et ci dessous un exemple pour illustrer comment boucler sur une liste:
xxxxxxxxxx
71# itération sur les indices: de 0 à len(list)-1
2for i in range(len(maListe2)):
3 print(maListe2[i])
4
5# itération directement sur les éléments de la liste
6for elt in maListe2:
7 print(elt)
Créer une variable de type liste.
Lui ajouter des informations à demander à l'utilisateur: nom, prénom et date de naissance.
Puis afficher la variable.
xxxxxxxxxx
71# Ecrire votre programme ici:
2
3
4
5
6
7
On reprend la mission 5.1 en intégrant une nouvelle fonction similaire au programme de 6.1.
Programmer une fonction qui demande à l'utilisateur son nom, son prénom et sa date de naissance et renvoie une liste les contenant:
inputUtilisateur( ) -> information
paramètre: aucun
retour: information (list) liste contenant le nom (str), le prénom (str) et l'année de naissance (int)Reprendre la fonction qui renvoie un message de bienvenue :
messageBienvenue( nom , prenom, annee ) -> message
Puis utiliser les deux fonctions pour afficher un message de bienvenue à 10 utilisateurs.
NB: nous avons vu en #5 qu'une fonction ne renvoyait qu'une seule donnée, si on veut en renvoyer plusieurs, il suffit de les intégrer à une donnée de type construit comme une liste
xxxxxxxxxx
71# Ecrire votre programme ici:
2
3
4
5
6
7
On étend la fonction de 5.2 à une liste de nombre.
Programmer une fonction qui retourne une liste contenant le carré d'une liste de nombres :
carreList( listX ) -> listY
paramètre: listX (list) liste de nombres (int ou float)
retour: listY (list) liste des carrés des nombres de listX (int ou float)Puis l'utiliser pour afficher le carré :
des 20 premiers entiers positifs
des entiers entre -10 et 10NB: vous pouvez afficher le graphique de la fonction carré avec la fonction
plot(listX, listY)
de la bibliothèque numplot
71# Ecrire votre programme ici:
2
3
4
5
6
7