Python

Notions de Programmation

Les fonctions

Une fonction est une "délocalisation" d'une partie du code et éventuellement réutilisable dans d'autres programmes

MéthodeUne simple délocalisation

Ce programme dessine des cercles concentriques dans une fenêtre.

1
def setup():
2
    size(300,300)
3
4
def draw():
5
    background(255,255,255)
6
    noFill()
7
    for i in range(10,300,20):
8
        ellipse(150,150,i,i)

setup() et draw() sont des fonctions, on peut donc observer la façon dont on déclare une fonction.

def nomde_la_fonction() :

Nous allons créer une fonction dessine() qui aura pour but de dessiner les cercles concentriques

1
2
def setup():
3
    size(300,300)
4
5
def draw():
6
    background(255,255,255)
7
    dessine()
8
    
9
def dessine():
10
    noFill()
11
    for i in range(10,300,20):
12
        ellipse(150,150,i,i)

Remarque : il faut appeler la fonction dans le draw() pour que celle-ci s'exécute.

MéthodeUne délocalisation avec passage de paramètres

Transmettre à une fonction des paramètres.

Dans le programme ci-dessous, on transmet à la fonction "dessine" les coordonnées de la souris pour dessiner une ellipse rouge si on appuie sur le bouton gauche de la souris

1
2
def setup():
3
    size(300,300)
4
    background(255,255,255)
5
    
6
def draw():
7
    if mousePressed and mouseButton == LEFT:
8
        dessine(mouseX,mouseY)
9
    
10
def dessine(x,y):
11
    fill(255,0,0)
12
    ellipse(x,y,30,30)

Lors de l'appel de la fonction dessine, x prend la valeur de mouseX et y prend la valeur de mouseY

Sauriez-vous en rajoutant des paramètres dans la fonction, faire en sorte que si on appuie sur le bouton droit de la souris l'ellipse soit verte ?

MéthodeUne délocalisation avec passage de paramètres et retour de valeur

Une fonction peut servir à faire une série d'instructions dont le résultat sera retourné au programme principal.

Par exemple, le programme ci-dessous met dans la variable maxi le plus grand de deux nombres passés en paramètres

1
# import des bibliothèques javax pour l'affichage de boites de dialogues
2
from javax.swing import JOptionPane
3
from javax.swing import JFrame
4
5
def setup():
6
    #affichage de la boite de dialogue
7
    frame = JFrame()
8
    a=JOptionPane.showInputDialog(frame,"Entrez un nombre entier","Dialog",JOptionPane.PLAIN_MESSAGE)
9
    b=JOptionPane.showInputDialog(frame,"Entrez un nombre entier","Dialog",JOptionPane.PLAIN_MESSAGE)
10
    #appel de la foncion maximum
11
    maxi=maximum(a,b)
12
    print(maxi)
13
14
def maximum(x,y):
15
    if x>y:
16
        return x
17
    else:
18
        return y
19

Sauriez-vous faire en sorte que le programme demande 3 nombres à l'utilisateur et affiche le plus grand des 3 ?

PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimer Stéphan Van Zuijlen Licence de documentation libre GNURéalisé avec Scenari (nouvelle fenêtre)