Initiation Python Partie 2 I) Les boucles

publicité
Initiation Python Partie 2
I)
Les boucles
-L'ordinateur permet de faire automatiquement des choses répétitives qui seraient fastidieuses à faire à la main
(par exemple vous êtes capable de multiplier 7 896 124 par 123 478 mais c'est long et beaucoup plus facile à la
calculatrice). On va donc voir ici comment utiliser Python pour réaliser un très grand nombre d'actions sans tout
programmer à la main.
-On a vu lors du TP précédent comment afficher du texte. Commencez donc par afficher les 3 premières lignes de
la table du 5 (comme au primaire !)
Rappel : print(7,'' x '',5,'' = '',7*5) affiche 7 x 5 = 35
-Pour les 3 ou 10 premières lignes c'est encore faisable à la main. Mais si on demande les 100 voire les 1000
premières lignes, il faut utiliser une autre méthode.
-Pour ce genre de chose, on utilise en programmation des boucles, qui se présentent sous la forme suivante en
Python :
for i in range(0,10) :
print(''L’info c’est génial'')
print(''Fin de la boucle'')
La ligne for i in range(0,10) est la création de la boucle, elle contient plusieurs informations :
-i, qui est une variable « compteur ». Son nom i est un nom générique, on peut très bien l'appeler
chameau. Pour se rendre compte de son utilité, écrivez le programme
for i in range(0,10) :
print(i)
-range(0,10), qui définit le nombre de répétitions de la boucle. Le nombre de répétitions vaut le 2e
nombre moins le 1er (on a donc ici 10 – 0 = 10 répétitions). Elles définissent aussi les valeurs
de i : i ira du 1er nombre jusqu'au 2e moins 1 (ici i va donc de 0 à 9 ; autre exemple :
range(84,154) permettrait à i d'aller de 84 à 153)
En fait, cette ligne peut se lire « Pour i allant de 0 à 9, faire : »
Python va ensuite exécuter ce qui est indenté en dessous de la boucle le nombre de fois demandé (Ici,
on affiche 10 fois L’info c’est génial)
La dernière ligne sert seulement à montrer qu'on met fin à la boucle dans le programme en supprimant
l'indentation (Fin de la boucle ne s'affiche bien qu'une fois), elle ne sera pas nécessaire dans vos
programmes.
-Maintenant, vous devriez être capable d'afficher les 1000 premières lignes de la table du 5 en seulement 2 lignes
de code ! Écrivez donc le programme correspondant, et n'oubliez pas que vous pouvez utiliser la variable
« compteur » dans la boucle.
Note : Il existe un autre type de boucle, les boucles conditionnelles, qui ne sont pas abordées ici
II)
Les fonctions
-On va maintenant introduire le concept de fonctions, qui permettent entre autre de découper un programme en
sous-programmes plus facilement utilisables.
-Une fonction est comme une usine : on y met quelque chose (on appelle ça
les arguments, ce sont des variables), on fait quelques transformations et on
ressort (généralement) autre chose.
-On peut modéliser ainsi les fonctions que vous étudiez en mathématiques.
Par exemple, pour une fonction f(x) = 3x + 5, on écrirait en Python :
def f(x) :
x = x*3 + 5
return x
def f(x) : est la création de la fonction f. f est le nom de la fonction, mais on peut lui donner le nom qu'on
veut (def ornithorynque(x) : fonctionne aussi). Les parenthèses contiennent les arguments, ici la variable
x. On indente ensuite tant que l'on définit la fonction.
Pour que notre fonction sorte un résultat, on utilise return, généralement à la fin de la fonction.
-Pour utiliser la fonction, il suffit d'écrire son nom suivi des valeurs qu'on veut donner aux arguments entre
parenthèses.
-Dans un programme complet, cela donne :
def f(x) :
On créer f(x), avec pour seul argument une variable x
x = x*3 + 5
On transforme x
return x
On renvoie le x transformé
valeur_x = int (input(''Valeur de x : ''))
On créer une variable valeur_x qui vaut une valeur entrée par
l'utilisateur
resultat = f(valeur_x)
On créer une variable resultat qui vaut f(valeur_x)
print(resultat)
On affiche la variable resultat
-Testez le programme et comprenez ce qu'il fait.
-De la même façon, on peut généraliser pour toutes les fonctions affines (de la forme f(x) = ax + b). Écrivez une
fonction Python qui prend en argument 3 variables (on utilise des virgules quand il y a plusieurs arguments : def
f(x,a,b):), qui renvoie ax + b. Faites ensuite le programme qui demande à l'utilisateur les valeurs de x, a et b et qui
affiche le résultat, sur le même modèle que ce qui a été fait précédemment.
Petit exercice :
On va maintenant combiner les boucles et les fonctions ! Écrivez un programme qui créer une fonction affine
dont l'utilisateur choisit les paramètres a et b. L'utilisateur choisit également deux valeurs debut et fin, et le
programme doit afficher toutes les valeurs de f(x) (pour x entier) entre x = debut et x = fin.
Bonne chance !
Téléchargement