• 4 heures
  • Facile

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 03/06/2021

Structurez votre programme en utilisant les fonctions

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Bien bien, notre programme s’étoffe ! Intéressons-nous maintenant à la première phrase :

# Show random quote

Nous avons déjà une liste composée de deux citations :

quotes = ["Ecoutez-moi, Monsieur Shakespeare, nous avons beau être ou ne pas être, nous sommes !", "On doit pouvoir choisir entre s'écouter parler et se faire entendre."]

Afin d’afficher dans la console une citation au hasard, nous devons avant choisir une position aléatoirement dans la liste. Il nous faut donc commencer par chercher comment Python peut nous renvoyer un nombre compris entre une valeur minimale (0, le début de la liste) et une valeur maximale (le nombre total d’items - 1).

Je vous propose de diviser cette étape en plusieurs sous-étapes :

# Show random quote:
# get a random number
# get a quote from a list
# show the quote in the interpreter

Nous avons ainsi regroupé plusieurs sous-actions autour d’une grande :  show_random_quote . Nous allons utiliser cette grande action à plusieurs endroits : au démarrage de notre programme, puis quand l’utilisateur appuiera sur “entrée”.

L’idéal serait donc de pouvoir stocker cet ensemble d’action sous le nom d’une seule variable : show_random_quote.

Nous n’allons pas utiliser les variables pour le faire mais plutôt une fonction.

Créez une nouvelle fonction

Une fonction est un ensemble de commandes regroupées sous un seul nom unique. Pour définir une fonction, vous utilisez le mot-clé “def”, suivi d’un nom, de parenthèses et de deux points. Puis vous indentez tout ce qui se trouve à l’intérieur ! Exemple :

def get_random_quote():
# get a random number
# get a quote from an array
# show the quote in the interpreter
pass

Pour exécuter une fonction, écrivez son nom (avec ses parenthèses !) :

get_random_quote()

Paramètres

Arrivé·e à ce point du cours, je suis certaine qu’une question vous intrigue, que dis-je, vous obsède ! N’en perdez pas le sommeil : je vais vous expliquer à quoi servent les parenthèses d’une fonction !

Les paramètres sont des variables que vous fournissez à votre fonction. En effet, l’intérêt d’une fonction est de pouvoir être réutilisée dans des contextes différents. Par exemple, notre fonction actuelle affichera une citation au hasard, mais nous voudrons certainement en faire de même pour les personnages. Allons-nous copier / coller la fonction et changer son nom ? Non. Nous allons simplement passer la liste en paramètre. Démonstration :

quotes = ["Ecoutez-moi, Monsieur Shakespeare, nous avons beau être ou ne pas être, nous sommes !", "On doit pouvoir choisir entre s'écouter parler et se faire entendre."]
def get_random_item_in(my_list):
# TODO: get a random item
my_list[0] # get an item from a list. For the moment, just get the first one.
# TODO: show the quote
get_random_item_in(quotes)

Utilisez les fonctions standards de Python

Python contient de nombreuses fonctions qui rendent la vie plus simple. Vous voulez connaître le type d’un objet ? Utilisez  type(MyObject) . Vous voulez afficher une valeur ? Utilisez  print(my_value) .

Une des fonctions par défaut très utiles est  input(mon_message) . Elle vous permet de “demander” son avis à l’utilisateur ! Le message affiché est passé en paramètre à la fonction.

Exemple :

input('Tapez entrée pour connaître une autre citation ou B pour quitter le programme.')

Quand elle est exécutée, elle renvoie la valeur saisie par l’utilisateur. Pour l’utiliser vous devez l’assigner à une variable.

user_answer = input('Tapez entrée pour découvrir une autre citation ou B pour quitter le programme.')

Renvoyez une valeur

Une fonction exécute un ensemble d’action mais, par défaut, elle ne renvoie pas d’information spécifique. Dans le cas de notre fonction, par exemple, Python va effectivement trouver un nombre au hasard, trouver une citation, l’afficher dans l’interpréteur mais ne nous donnera aucun message nous indiquant qu’il a bien tout fait !

Pour que votre fonction renvoie une certaine valeur, utilisez le mot-clé “return” :

def get_random_item_in(my_list):
# TODO: get a random number
item = my_list[0] # get a quote from a list
print(item) # show the quote in the interpreter
return "program is over" # returned value
print(get_random_item_in(quotes))

Le résultat dans la console :

Ecoutez-moi, Monsieur Shakespeare, nous avons beau être ou ne pas être, nous sommes !
program is over

Code du chapitre

Retrouvez le code de ce chapitre sur le dépôt GitHub en cliquant ici.

Exemple de certificat de réussite
Exemple de certificat de réussite