Quelques pistes pour travailler le programme officiel NSI à partir de Python

2 - Représentation des données: types construits

Autrement dit : les conteneurs tuples, listes, dictionnaires

Etienne Lozes -- Pâques 2019

2.1 Écriture une fonction qui renvoie un p-uplet de valeurs

Et tant qu'à faire, demandons aussi de savoir déconstruire un p-uple

In [5]:
def somme_vect2D(v1, v2) :
    (x1,y1) = v1
    (x2,y2) = v2
    return (x1+x2,y1+y2)
In [6]:
somme_vect2D((1, 2), (3, 4))
Out[6]:
(4, 6)

Attention à ne pas prendre le signe + pour ce qu'il n'est pas (la somme vectorielle)

In [7]:
(1, 2) + (3, 4)
Out[7]:
(1, 2, 3, 4)

Les p-uplets nommés permettent d'accéder à un champ du p-uplet non pas par sa position mais par son nom, ce qui est souvent préférable

In [8]:
from collections import namedtuple
Point = namedtuple('Point', 'x y')
pt1 = Point(1.0, 5.0)
pt2 = Point(2.5, 1.5)

from math import sqrt
distance = sqrt((pt1.x-pt2.x)**2 + (pt1.y-pt2.y)**2)

2.2 Tableau indexé, tableau donné par compréhension

Sujet classique, plein de ressources possibles à exploiter, notamment l'ancien cours de Jean-Paul Roy qui est à la base du cours que je donne actuellement, cf http://deptinfo.unice.fr/~elozes/AlgoPython

2.3 Dictionnaires par clés et valeurs

Sujet classique, plein de ressources possibles à exploiter, notamment l'ancien cours de Jean-Paul Roy qui est à la base du cours que je donne actuellement, cf http://deptinfo.unice.fr/~elozes/AlgoPython