Créer des fonctions supplémentaires
En plus des fonctions prédéfinies, il est possible de créer des fonctions supplémentaires pour, par exemple, automatiser une calcul.
Syntaxe :
Il est important de respecter la syntaxe qui comprend :
Première ligne :
def pour préciser qu'on définit quelque chose
( ) avec ou sans paramètres
: pour signifier à python qu'un Bloc débute où seront présentes des instructions
Bloc : lignes suivantes avec une indentation (décalage)
def nom_fonction(liste de paramètres):
instruction 1
instruction 2
...Instructions hors bloc de la fonction
Exemple : Fonction sans paramètre
Sans paramètre = la fonction fonctionne uniquement avec les informations créées et manipulées au moment de son exécution..
Pas d'information à mettre entre parenthèses ( ).
#---Fonctiondef compteur():
i = 0
while i < 3:
print(i)
i = i + 1
#---Programme principalprint("Bonjour")
compteur() # Appel de la fonction
print("Fini !")
Bonjour
0
1
2
Fini !
Exemple : Fonction avec 1 paramètre
Le nom de la variable envoyée par la fonction (ex : a) peut être différent de la variable à l'arrivée (ex : fin).
Attention : si un paramètre est présent il doit obligatoirement l'être aux 2 endroits (au départ et à l'arrivée).
#---Fonctiondef compteur(fin): # la fonction attend que lui soit envoyé une variable
i = 0
while i < fin:
print(i)
i = i + 1
#---Programme principalprint("Bonjour")
a = 3 # création et initialisation d'une variable
compteur(a) # la variable a est envoyée comme paramètre au moment de l'appel de la fonction
print("Fini !")
Bonjour
0
1
2
Fini !
Exemple : Fonction à plusieurs paramètres
Les noms des variables envoyées par la fonction peuvent être différents de ceux à l'arrivée.
Il est possible d'envoyer des valeurs ( ex : 1,7,2) et de les affecter à des noms de variable à l'arrivée (ex : debut, stop, ecart).
Attention :
autant de paramètres au départ et à l'arrivée = même nombre
veiller à respecter la position des paramètres = même ordre
#---Fonctiondef compteur(debut, stop, ecart):
i = debut
while i < stop:
print(i)
i = i + ecart
#---Programme principalprint("Bonjour")
compteur(1, 7, 2)
print("Fini !")
Bonjour
1
3
5
Fini !
En ajoutant des input(), il peut être demandé à l'utilisateur de renseigner les variables : debut, stop et ecart.
Attention : input() réclame des valeurs qu'il va falloir, à un moment donné, formater. Ici, les variables reçues doivent être des entiers (integer, int()) pour pouvoir être utilisées dans un test et un calcul.
#---Fonctiondef compteur(debut, fin, ecart):
i = int(debut)
while i <= int(fin):
print(i)
i = i + int(ecart)
#---Programme principalprint("Bonjour")
debut = input("Commencer de compter à ? ")
fin = input("Terminer de compter à ? ")
ecart = input("Ecart entre chaque nombre ? ")
compteur(debut, fin, ecart)
print("Fini !")