Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Objectifs :

Objectifs :

✓ Savoir écrire une fonction élémentaire et l’utiliser ✓ Différentier l’exécution et le test d’une fonction ✓ Maitriser la notion d’arguments d’entrée et de sortie ✓ Reconnaitre une variable locale

1) Nécessité

Dans le cas d’un projet complexe, on est amené à écrire des fonctions qui vont faire des tâches bien précises. Ces fonctions seront appelées plusieurs fois par le programme principal ou par d’autres fonctions.

Les fonctions sont écrites dans des fichiers. A priori pas d’input ni de print (sauf exception)

2) Ecriture et sauvegarde d’une fonction :

a) Syntaxe: Ecriture dans la fenêtre d’édition

def nom arguments d’entrée deux points instructions indentées return arguments de sortie

def somme entier(n): # n est un argument d'entrée
s=0
for i in range (1,n+1):
s+=1
return s # argument de sortie s
def somme produit(L):
s=0;p=1
for val in L:
s+=val
p*=val
return s,p # deux arguments de sorties
def somme produit (L):
IN IV :1)
s=0;p=1
n=len(L)
for i in range (n):
s+=L[i]
p*=L[i]
return s,p # deux arguments de sorties
def puissance (x,n):
resultat=1
for i in range(n):
resultat*=x
return resultat

b) Enregistrement du fichier : nom.py

Vous pouvez utiliser le nom que vous voulez, il est souvent bien commode d’utiliser le nom de la fonction. On peut cependant regrouper plusieurs fonctions dans un même fichier car les fonctions sont séparées par les instructions def et les indentations.

3) Exécution du fichier : RUN FILE

Une fonction doit être exécutée pour être reconnue.

Quand on exécute une fonction, on recueille parfois des messages d’erreur, il faut donc modifier le code afin d’obtenir une fonction reconnue par python comme n’importe qu’elle autre fonction ( int , input )

Test et validation d’une fonction :

Attention un fichier exécutable n’est pas pour autant valide (bien programmé) , il faut ensuite le tester pour vérifier qu’il fonctionne et donne les résultats attendus. N’hésitez pas à écrire à la fin de vos fonctions des remarques sur l’avancement de votre travail: exécutable, testé, validé.

4) Tests et utilisation de la fonction

res=puissance(2,10)
In (36) help(somme_entier)
Help on function somme_entier in module __main__:
somme_entier(n)
somme des entiers de 1 à n
L=[2,3,4]
somme,produit=somme_produit(L)
somme

produit
somme_entier(10)

somme_produit([2,3,4])
(9, 24)

Exercices : écrire des fonctions python qui répondent aux demandes suivantes

EX1 : Ecrire une fonction norme( x,y\mathrm{x}, \mathrm{y} ) qui renvoie la norme du vecteur ( x,y\mathrm{x}, \mathrm{y} ) EX2: Ecrire une fonction distance(A,B) qui donne la distance entre deux points. A et B sont des listes à deux éléments. EX3 : Ecrire une fonction isocèle qui indique si un triangle est isocèle Entrée : A,BA, B et CC des listes à deux éléments Sortie : True ou False