Les fonctions

ArrĂȘtons nous quelques instant sur notre code. On remarque le l'on rĂ©pĂšte plusieurs fois le mĂȘme bloc de ligne :

Un code qui présente des répétition n'est pas idéal. Par exemple, si vous voulez modifier la phrase "Résultat du lancé : " , vous allez devoir faire la modification deux fois.

Pour éviter cela, on utilise des fonctions. En python, une fonction s'écrit grùce au mot clé def.

Nous allons créer une fonction qui simule le lancé du dé :

def jeterLeDe():
  resultat = random.randint(1,6)
  print("Résultat du lancé : {}".format(resultat))
  return resultat

Lorsque l'on appellera cette fonction, l'ordinateur va simuler un lancĂ© de dĂ©, afficher le rĂ©sultat puis retourner ce rĂ©sultat. L'intĂ©rĂȘt de retourner un rĂ©sultat est de pouvoir reprendre ce rĂ©sultat dans une variable. Voici un test :

La valeur retournĂ©e par la fonction jeterLeDe() est assignĂ©e Ă  la variable resultatJet. Lorsque l'on affiche la valeur de resultatJet (ligne 12), on constate qu'il s'agit bien de la mĂȘme valeur qui Ă©tait calculĂ©e dans la fonction.

Une fonction n'est pas appelée lors de sa définition (def ...). Elle n'est appelée que lorsque l'on écrit une instruction en dehors de la définition. Par exemple elle est appelé ici à la ligne 11.

Voici le code complet avec la fonction jeterLeDe().

import random

def jeterLeDe():
  resultat = random.randint(1,6)
  print("Résultat du lancé : {}".format(resultat))
  return resultat

print("Bonjour, bienvenue dans le jeu du cochon !")

scoreJoueur1 = 0
scoreJoueur2 = 0
tourJoueur1 = True

resultat = random.randint(1,6)
print("Résultat du lancé : {}".format(resultat))

if (resultat == 1):
  print("Le dé est tombé sur 1, vous passez votre tour")
  tourJoueur1 = False
else : 
  print("Le dé n'est pas tombé sur 1")
  rejouer = input("Voulez vous rejouer ? (si oui, taper 'o')  : ")
  if(rejouer == "o"):
    resultat = random.randint(1,6)
    print("Résultat du lancé : {}".format(resultat))
  else :
    scoreJoueur1 = scoreJoueur1 + resultat
    print("_________________________________")
    print("SCORES")
    print("Joueur 1 : {}       Joueur 2 : {}".format(scoreJoueur1, scoreJoueur2))
    print("_________________________________")

Fonctions vides

Dans certains cas, il n'est pas utile de retourner une valeur. On appelle ça une fonction vide. Il s'agit d'une fonction classique comme vu plus haut mais sans return.

Par exemple :

def afficherMessageBienvenue():
  print("Bonjour, bienvenue dans le jeu du cochon !")  

ParamĂštres de fonctions

Les fonctions peuvent recevoir des paramĂštres. On les place entre les parenthĂšses, juste aprĂšs le nom de la fonction.

Par exemple, essayez de lancer le code suivant :

def afficherResultatSomme(a, b):
  somme = a + b
  print(somme) 

afficherResultatSomme(2,3)
afficherResultatSomme(-2,3.5)
afficherResultatSomme(65,386)

DerniĂšre mise Ă  jour

Cet article vous a-t-il été utile ?