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)

1
def nom_fonction(liste de paramètres):
2
      instruction 1
3
      instruction 2
4
      ...
5
Instructions hors bloc de la fonction

ExempleFonction 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 ( ).

1
#---Fonction
2
def compteur():
3
    i = 0
4
    while i < 3:
5
        print(i)
6
        i = i + 1
7
8
#---Programme principal
9
print("Bonjour")
10
compteur() # Appel de la fonction
11
print("Fini !")

Bonjour

0

1

2

Fini !

ExempleFonction 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).

1
#---Fonction
2
def compteur(fin): # la fonction attend que lui soit envoyé une variable
3
    i = 0
4
    while i < fin:
5
        print(i)
6
        i = i + 1
7
8
#---Programme principal
9
print("Bonjour")
10
a = 3               # création et initialisation d'une variable
11
compteur(a)         # la variable a est envoyée comme paramètre au moment de l'appel de la fonction
12
print("Fini !")

Bonjour

0

1

2

Fini !

ExempleFonction à 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

1
#---Fonction
2
def compteur(debut, stop, ecart):
3
    i = debut
4
    while i < stop:
5
        print(i)
6
        i = i + ecart
7
8
#---Programme principal
9
print("Bonjour")
10
compteur(1, 7, 2)
11
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.

1
#---Fonction
2
def compteur(debut, fin, ecart):
3
    i = int(debut)
4
    while i <= int(fin):
5
        print(i)
6
        i = i + int(ecart)
7
8
#---Programme principal
9
print("Bonjour")
10
debut = input("Commencer de compter à ? ")
11
fin = input("Terminer de compter à ? ")
12
ecart = input("Ecart entre chaque nombre ?  ")
13
14
compteur(debut, fin, ecart)
15
print("Fini !")