Projet MIA OP.
2
Retours sur le 1er semestre
Discipline :
• Appel fait à chaque début de séance
• Aucune retard ne sera accepté
• 1 absence non justifiée compétences du semestre NA
Conseils pour la soutenance :
• Bien mettre en avant la pluridisciplinarité et les liens entre les disciplines
• Vérifier votre présentation : cohérence, orthographe, lisibilité
• Interagissez avec le jury : regards, questions rhétoriques, supports variés, …
PENSEZ A ANTICIPER, PLANIFIER, AVANCER ENTRE LES SEANCES
Organisation du cours
Aujourd’hui :
• Cours/TP sur les listes et sur les fonctions
10 mars et 19 avril :
• Projet
2 mai :
• Evaluation en groupe
15 mai :
• Soutenance pluridisciplinaire
Travail entre les séances
Aujourd’hui :
• TP à rendre 1 semaines après la séance
10 mars :
• Lire la documentation pour le projet du 2 nd semestre
19 avril :
• Avancer, et préparer vos questions : dernière séance avant l’évaluation
2 mai, 15 mai :
• Préparer les soutenances : oral et supports
Projet MIA OP.2
Les listes
Qu’est ce qu’une liste ?
Liste : collection pour mettre plusieurs valeurs dans une seule variable plus facile
à manipuler
enfants = [ 'Sarah', 'Enzo', 'Raphael' ]
affaires = [ 'chaussettes', ’chemise', 'parfum’ ]
Les constantes de liste
Constantes : entourées par des crochets
Eléments de la liste séparés par des >>> print( [1, 24, 76] )
virgules [1, 24, 76]
>>> print( ['red', 'yellow',
'blue'] )
Une liste peut contenir n’importe quel ['red', 'yellow', 'blue']
>>> print( ['red', 24, 98.6] )
objet : int, float, str… ou même ['red', 24, 98.6]
d’autres listes >>> print( [ 1, [5, 6], 7] )
[1, [5, 6], 7]
>>> print( [] )
Une liste peut être vide []
Listes et boucle for
Dénombrement
Règle d’or : Python compte à partir de 0 !!!
Nous pouvons atteindre un élément spécifique de la liste grâce à un index renseigné
dans des crochets :
Nota : il est aussi possible d’utiliser des indices négatifs
marmots[-1] = Raphael
marmots[-3] = Sarah
Modifier une liste
Concaténer 2 listes :
L1 = [‘a’, ‘b’]
L2 = [‘c’, ‘d’]
L1 + L2 = [‘a’, ‘b’, ‘c’, ‘d’]
L2 + L1 = [‘c’, ‘d’, ‘a’, ‘b’]
L1 + [15] = [‘a’, ‘b’, ‘15]
L1 = [‘a’, ‘b’]
Ajouter un élément : fonction .append
L1.append(‘bonjour’)
L1 = [‘a’, ‘b’, ‘bonjour’]
Modifier une liste
Accéder à une tranche :
L1 = [‘a’, ‘b’, ‘c’, ‘d’, ‘e’]
L1[0:2] = [‘a’, ‘b’, ‘c’]
L1[3:] = [‘d’, ‘e’]
L1[:2] = [‘a’, ‘b’, ‘c’]
Obtenir la taille de la liste: fonction .len
L1.len = 5
Listes et fonction range(): list(range(début, fin, pas))
list(range(5)) = [0,1,2,3,4]
list(range(2,5)) = [2,3,4]
list(range(2, 10, 2)) = [2,4,6,8] Possible d’avoir un pas négatif
/!\ à la dernière valeur : jusqu’à mais sans inclure
Modifier une liste
Trier une liste : fonction .sort
L1 = [‘a’, ‘z, ‘e’, ‘r’, ‘t’, ‘y’]
L1.sort = [‘a’, ‘e’, ‘r’, ‘t’, ‘y’, ‘z’]
L2 = [2,9,5,4,0]
L2.sort = [0,2,4,5,9]
Décomposer une liste de chaine : fonction .split
L1 = ‘ bonjour et bienvenue ’
L1.split = [‘bonjour’, ‘et’, ‘bienvenue’]
len(L1) = 3
L1[1] = ‘et’
Modifier une liste
Les fonctions mathématiques : sum, min, max
L1 = list(range(10))
L1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
sum(L1) = 45
min(L1) = 0
max(L1) = 9
D’autres fonctions : 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort’
https://docs.python.org/3/tutorial/datastructures.html
Manipuler une liste
Opérateur « in »:
Exercices
1) Affichez la table de multiplication par 9 en une seule commande avec les
instructions range() et list().
2) Créez 4 listes hiver, printemps, ete et automne contenant les mois
correspondants à ces saisons. Créez ensuite une liste saisons contenant les listes
hiver, printemps, ete et automne. Prévoyez ce que renvoient les instructions
suivantes, puis vérifiez-le dans l'interpréteur :
a) saisons[2]
b) saisons[1][0]
c) saisons[1:2]
d) saisons[:][1]. Expliquer tous les résultats obtenus.
Exercices
3) Constituez une liste semaine contenant les 7 jours de la semaine.
a) À partir de cette liste, comment récupérez-vous seulement les 5 premiers jours
de la semaine d'une part, et ceux du week-end d'autre part ? Utilisez pour cela
l'indiçage.
b) Cherchez un autre moyen pour arriver au même résultat (en utilisant un autre
indiçage).
c) Trouvez deux manières pour accéder au dernier jour de la semaine.
d) le week-end étant généralement trop court, créer un jour que vous ajouterez
après dimanche dans la liste des jours de la semaine
Projet MIA OP.2
Les fonctions
Pourquoi utiliser des fonctions
Avantages :
• Allège le programme principal
• Peut-être appelé plusieurs fois : gain de lignes
• Bien commenté, simplifie la compréhension de l’utilisateur
Vous utilisez déjà des fonctions
Définition : En Python, une fonction est du code réutilisable qui prend un ou des
argument(s) en entrée, réalise des actions, et renvoie un ou des résultats
Exemples de fonctions utilisées au quotidien : print, len, range, append, input, type,
float, …
Ce sont les fonctions intégrées
Mais il est possible de créer de nouvelles fonctions : c’est l’objectif de ce cours
Création d’une fonction
Def carre(x): # x est appelé argument de la fonction
return(x**2)
Def volume_cylindre(r, h): #r rayon de la base, h hauteur du cylindre
return(3.14*r**2*h)
Points d’attention :
• Indentation
• Utiliser les mots clé : def, return/print
• Return : sort le résultat mais ne l’imprime pas
• Print : imprime le résultat, qui n’est alors pas utilisable dans le corps du code
Utiliser une fonction
Points d’attention
• Bien utiliser le bon nombre d’argument dans le bon ordre
Exercices
1. Définir une fonction qui calcule la racine carrée d’un nombre.
Pour rappel : racine carrée = puissance ½
2. Définir une fonction qui calcule la paie en fonction de : taux horaire, nombre
d’heure effectuées.
/!\ demander à l’utilisateur ses données personnelles
3. Définir une fonction qui calcule le factoriel d’un nombre donné. Pour rappel n!
= 1*2*3*…n