gymnase-tp

TP 31 : Fonction

Pourquoi ?

Une fonction permet de regrouper un bloc d’instructions pour pouvoir les exécuter ensemble.

Cela permet d’éviter de se répéter et d’améliorer la lisibilité du code.

Comment ?

Une fonction est définie par :

def nom_fonction(liste de paramètres):
  bloc d'instruction

Notez que la syntaxe est similaire au if et while : on commence par le mot-clef def (pour definition) et le bloc d’instruction est indenté.

Fonction sans paramètre

La version la plus simple est une fonction sans paramètre. Par exemple :

def quarante_deux():
  print(42)

La fonction quarante_deux() va simplement imprimer 42 dans la console à chaque fois qu’on l’appelle.

def quarante_deux():
  print(42)


quarante_deux()
quarante_deux()
quarante_deux()

Le programme ci-dessus va donc imprimer successivement trois fois 42 :

42
42
42

Projet

Utilisez les fonctions pour décomposer votre jeu afin de le rendre plus lisible et maintenable.

# Définition de la fonction pour jouer
def jeu():
  print("Il y a une bille cachée dans un des trois gobelets. Lequel choisissez-vous ?")
  choix = input("gauche/milieu/droite : ")
  if choix == "gauche":
    perdu()
  elif choix == "milieu":
    gagne()
  elif choix == "droite":
    perdu()

# Définition de la fonction lorsqu'on gagne
def gagne():
  print("Vous avez trouvé la bille !")

# Définition de la fonction lorsqu'on perd
def perdu():
  print("Il n'y a rien sous le gobelet.")

# Appel de la fonction pour commencer la partie
jeu()

L’exemple ci-dessus utilise les fonctions. Notez que la fonction perdu() est utilisée deux fois, ce qui peut être utile si vous souhaitez que deux chemins arrivent au même résultat.

Fonction avec paramètres

Les fonctions permettent aussi de passer des paramètres qui sont considérés comme des variables au sein de la fonction :

# Définition d'une fonction avec un paramètre 'nom'
def saluer(nom):
  print("Bonjour", nom)

# Appel de la fonction avec des paramètres différents
saluer("Bob")
saluer("Eve")
saluer("Olivia")

L’exemple ci-dessus va imprimer dans la console :

Bonjour Bob
Bonjour Eve
Bonjour Olivia

Plusieurs paramètres

On peut aussi avoir plusieurs paramètres séparés par des virgules. En voici un exemple :

# Définition d'une fonction avec deux paramètres
def saluer(prenom, nom):
  print("Bonjour", prenom, nom, "!")

# Appel de la fonction avec des paramètres différents
saluer("Bob", "Doe")
saluer("Eve", "Martin")
saluer("Olivia", "Snow")

Source

https://courspython.com/fonctions.html


Retour à l’accueil