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 sdef somme produit(L):
s=0;p=1
for val in L:
s+=val
p*=val
return s,p # deux arguments de sortiesdef 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 sortiesdef puissance (x,n):
resultat=1
for i in range(n):
resultat*=x
return resultatb) 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 à nL=[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( ) qui renvoie la norme du vecteur ( ) 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 : et des listes à deux éléments Sortie : True ou False