Révisions - Fonctions#
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.
Pour é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:
# Définition de la fonction
def nom_de_la_fonction(paramètres):
instruction 1
instruction 2
...
# Appel de la fonction dans le programme
nom_de_la_fonction(paramètres)
Exercice 25#
Une fonction nommée salutations
a été définie ci-dessous. Appelez cette
fonction dans le programme.
def salutations():
print("Bonjour, comment vas-tu?")
# Complétez l'appel de la fonction
...
Solution
1def salutations():
2 print("Bonjour, comment vas-tu?")
3
4# Appel de la fonction
5salutations()
Exercice 26#
Une fonction nommée affiche_somme
prend 2 paramètres numériques. Cette
fonction additionne les paramètres et affiche le résultat.
Appelez cette fonction 2 fois pour que le programme affiche le résultat de 4 + 9 et celui de de 3 + 7.
def affiche_somme(a, b):
print(a + b)
# Complétez l'appel de la fonction 2 fois
...
Solution
1def affiche_somme(a, b):
2 print(a + b)
3
4# Appel de la fonction 2 fois
5affiche_somme(4, 9)
6affiche_somme(3, 7)
Exercice 27#
Au début du code donné ci-dessous, définissez une fonction nommée au_revoir
permettant simplement d'afficher le texte "À bientôt!".
Le code donné doit ensuite pouvoir s'exécuter sans problème afin d'afficher 20 fois le message d'au revoir.
# Définissezs la fonction au_revoir
...
i = 0
while i < 20:
au_revoir()
i += 1
Solution
1# Définition de la fonction au_revoir
2def au_revoir():
3 print("À bientôt!")
4
5i = 0
6while i < 20:
7 au_revoir()
8 i += 1
Exercice 28#
Au-dessus du code donné, définissez une fonction nommée affiche_prix_billet
prenant en paramètre l'âge de l'utilisateur et affichant le prix du billet de
cinéma en fonction de cet âge.
Le prix du billet est de 10 CHF pour les moins de 12 ans, de 14 CHF pour les 65 ans et plus et de 16 CHF pour les autres. La fonction affiche uniquement le prix.
Le code donné doit ensuite pouvoir s'exécuter sans erreur et afficher exactement les prix des billets pour tous les âges de 1 à 70 ans.
# Définissez la fonction affiche_prix_billet
...
for a in range(1, 71):
affiche_prix_billet(a)
Solution
1def affiche_prix_billet(age):
2 if a < 12:
3 print(10)
4 elif a >= 65:
5 print(14)
6 else:
7 print(16)
8
9for a in range(1, 71):
10 affiche_prix_billet(a)
Exercice 29#
Que va afficher le programme?
Indiquez l'ordre d'exécution des lignes.
1def salutations(prenom):
2 print("Bonjour", prenom)
3
4def au_revoir():
5 print("Au revoir à tous!")
6
7salutations("Bob")
8salutations("Alice")
9au_revoir()
10print("Fin du programme")
Solution
Python va lire les lignes 1 et 4 (les déclaration des définitions de fonctions sans s'occuper du corps de la fonction).
L'ordre d'exécution des lignes est le suivant:
7-2-8-2-9-5-10