Vous êtes sur la page 1sur 2

Informatique 1ère année Python

Les fonctions (1)


En programmation, une fonction est un bloc de code (suite d’instructions) qui réalise une
tâche. Nous en avons déjà rencontré plusieurs :
• print(. . . ) : affiche ce qui est entre parenthèses sur la console
• input(. . . ) : demande à l’utilisateur d’entrer une donnée
• int(. . . ) : convertit ce qui est entre parenthèses en nombre entier
• float(. . . ) : convertit ce qui est entre parenthèses en nombre à virgule
• range(. . . ) : renvoie une liste de nombre (de 0 à la valeur entre parenthèses -1)
Toutes les fonctions ci-dessus sont des fonctions intégrées, elles ont été prédéfinies pour nous.
Nous n’avons qu’à les utiliser, sans nous soucier de comment elles ont été programmées.
Mais, afin d’éviter de répéter du code et de rendre le code plus lisible, il est utile de pouvoir
définir nos propres fonctions. La syntaxe est la suivante :
1 # D ’ abord il faut définir la fonction
2 def nom _de_la_fon ct io n ( paramètres ) :
3 # instruction 1
4 # instruction 2
5 # ...
6
7 # Ensuite il faut appeler la fonction dans le programme
8 nom_d e_ la_fonctio n ( paramètres )

Exemple vu dans Reeborg pour pouvoir tourner à droite :


1 def tourne_a_droite () :
2 for i in range (3) :
3 tourne_a_gauche ()

Dans l’exercice de Reeborg "But 4", nous avons créé la fonction suivante pour avancer de 3
cases :
1 def avance _de_3_ cases () :
2 for i in range (3) :
3 avance ()

Que se passe-t-il si je veux avancer de 4 cases ou 7 ?


Les paramètres permettent de transmettre des informations nécessaires à la fonction, par
exemple le nombre de cases, sans devoir tout réécrire quand cette valeur change :
1 def avance_cases ( nombre_de_cases ) :
2 for i in range ( nombre_de_cases ) :
3 avance ()

Ainsi quand j’appelle la fonction avance_cases(), j’indique le nombre de cases dans les pa-
renthèses. Et la fonction avance du bon nombre de cases.

C. Blank 1 2023/2024
Informatique 1ère année Python

Exercice 1 :
Avec Reeborg, résoudre l’exercice "But 4" avec les améliorations vues en classe.
Rappel : Définir les fonctions tourne_a_droite(), avance_cases(nb_cases), quart_de_chemin()
et extremite()

Exercice 2 :
Avec Reeborg, résoudre l’exercice "Haies 1" en respectant les instructions suivantes :
a) Définir une fonction saute_haie(). Réutiliser la fonction tourne_a_droite() vue
précédemment.
b) Écrire le programme qui résout l’exercice en utilisant les fonctions définie ci-dessus.
c) S’il y a encore des répétitions, utiliser une boucle pour les éviter.

Exercice 3 :
Avec Reeborg, résoudre l’exercice "Journal 0" en respectant les instructions suivantes :
a) Définir les fonctions tourne_a_droite(), monte_une_marche() et
descend_une_marche().
b) Écrire le programme qui résout l’exercice en utilisant les fonctions définies ci-dessus.
c) S’il y a encore des répétitions, utiliser une boucle pour les éviter.

Exercice 4 :
Avec Reeborg, résoudre l’exercice "Autour 1" sans répéter de code. (Il suffit de 4 lignes de
code !)

Exercice 5 :
Avec Reeborg, résoudre l’exercice "Autour 1 - carotte" sans répéter de code. (Il suffit de 6
lignes de code !)

Références

[1] O.DEFOREST, François, Python pour le lycée. Independently published, 2022.


[2] ROBERGE, André, Le monde de Reeborg : https://reeborg.ca/index_fr.html

C. Blank 2 2023/2024

Vous aimerez peut-être aussi