Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Introduction aux Fonctions | Fonctions
Python Ninja

bookIntroduction aux Fonctions

Glissez pour afficher le menu

À mesure que les défis deviennent plus complexes, il sera souvent nécessaire que le Ninja regroupe une séquence d’actions en une seule commande réutilisable pouvant être appelée à tout moment.

Par exemple, imaginez qu’il y ait 2 cases de sushi disposées selon le même motif sur la carte. Le Ninja doit s’approcher de chacune, la ramasser, puis continuer. Copier le même code à chaque fois fonctionne, mais cela devient rapidement désordonné et chronophage. Les fonctions résolvent ce problème.

Une fonction permet de regrouper plusieurs commandes en une seule action et de lui donner un nom. Une fois définie, cette action peut être exécutée à tout moment avec une seule ligne de code. Considérez une fonction comme un mouvement personnalisé que vous enseignez à votre Ninja.

Voici à quoi pourrait ressembler le code sans utiliser de fonctions :

ninja.py

ninja.py

copy

Ici, 2 groupes de mouvements sont logiquement répétés.

Création de votre première fonction

Transformez maintenant cette logique répétée en une fonction :

def collect_sushi(ninja):
    ninja.go_right()
    ninja.go_right()
    ninja.pick_sushi()

Voici ce qui se passe :

  • def commence une définition de fonction ;
  • collect_sushi est le nom de la fonction ;
  • ninja est un paramètre de la fonction ;
  • Les lignes indentées sont les instructions exécutées par la fonction.

Appel d'une fonction

Une fois la fonction définie, vous pouvez l'utiliser ainsi :

collect_sushi(ninja)
collect_sushi(ninja)

Essayez ceci :

ninja.py

ninja.py

copy
Note
Remarque

Tout le code à l'intérieur d'une fonction doit être indenté sous la définition de la fonction.

Par exemple, le code ci-dessous ne fonctionne pas car il n'est pas correctement indenté :

def collect_sushi(ninja):
ninja.go_right()
ninja.go_right()
ninja.pick_sushi()
question mark

Pourquoi utiliser une fonction comme collect_sushi() est-il préférable à copier plusieurs fois le même code de déplacement ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 1

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 3. Chapitre 1
some-alt