PC & PC* 2014–2015 – Informatique pour tous TP – Marche al´
eatoire
p=3564
r=122
while r != 0 :
p,r = r, p % r # p % r renvoie p modulo r, c’est `a dire le reste de la division euclidienne de p par r
La boucle s’arrˆete quand rdevient nul. On voit que lors de l’ex´ecution, pprend la valeur du reste pr´ec´edent. Ainsi, `a la
fin de l’ex´ecution de cette boucle, le pgcd est donn´e par p.
Les listes
Les listes sont intensivement utilis´ees en python, elles permettent de stocker des collections d’objets. Python propose
plusieurs fonctions pour manipuler les listes :
L = ["mot", 3, 1.4, "pi"]
print(L) # imprimer la liste
L.append("autre") # ajout d’un ´el´ement `a la fin d’une liste
L.remove("pi") # retire la premi`ere occurence de "pi" dans la liste
len(L) # longueur de la liste
L.count(1.4) # compte le nombre d’occurence de 1.4 dans la liste
print(L[1]) # les indices commencent `a 0 !!!!!
L[1] = L[1]+3 # on peut modifier les ´el´ements d’une liste
P = ["une", "autre", "liste"]
L + P # concat`ene les listes L et P
Il existe encore d’autres fonctions que vous pouvez consulter dans la documentation en ligne de python.
En ce qui concerne la copie de tableau, il s’agit d’ˆetre pr´ecautionneux. Dans le listing pr´ec´edent, la commande L = ["mot",
3, 1.4, "pi"] ne donne pas `a Lla valeur du tableau, juste l’adresse m´emoire o`u celui–ci est stock´e dans l’ordinateur.
Ainsi la commande autre = L affecte `a la variable autre la mˆeme adresse m´emoire, donc si on modifie la liste point´ee
par autre. . .cela modifie aussi la liste point´ee par L: c’est la mˆeme adresse m´emoire !
Pour copier une liste, il faut la recopier. On peut utiliser la commande :
autre = L[:]
Il est possible de cr´eer des listes avec une boucle for, par exemple la commande
L = [ k**2 for k in range(10) ]
donne la liste des carr´es des 20 premiers entiers (`a partir de 0).
Tracer des courbes
Il y a plusieurs moyens pour tracer des courbes en python. Nous n’en pr´esenterons qu’une, l’utilisation de la biblioth`eque
pyplot du module matplotlib. Pour l’importer il faut par exemple taper :
import matplotlib.pyplot as plt
La biblioth`eque contient beaucoup de fonctions, nous n’en pr´esenterons que quelques-unes, notamment la fonction plot.
´
Etant donn´e une suite de points P1,P2, . . ., PN, la commande plot permet de tracer la ligne bris´ee [P1, P2, . . . , PN] :
x = [1.2, 4, 5, 8] # liste des abscisses
y = [3, -1, -3, -2] # liste des ordonn´ees
plt.plot(x,y) # Cr´ee le graphique... mais ne l’affiche pas !!
plt.show() # affiche le graphique
On peut pr´eciser la couleur, par exemple plot(x,y,’r’) tracera en rouge (’b’ en bleu, ’g’ en vert etc. . .). Si on souhaite
ne tracer que les points sans les relier, il suffit de remplacer par plot(x,y,’o’). On peut combiner ces derni`eres options,
par exemple :
x = [ 0.01*k for k in range(200) ]
y = [ t**2 for t in x]
plt.plot(x,y,’ro’)
tracera en rouge et uniquement les points Pkde la parabole y=x2d’abscisse 0.01kavec k∈J0,199K.
Nous aurons aussi besoin de fixer l’intervalle de l’axe des abscisses et des ordonn´ees. Pour cela, on peut utiliser les
commandes xlim et ylim :
Lyc´
ee Louis Thuillier 311 septembre 2014