Dans le répertoire Python créez un dossier cours7.
Il contiendra tous les fichiers de cette leçon.
Une fonction est un regroupement d'instructions qui réalise ce que l'on sera mené à répéter.
Ecrivez le prpgramme cours.py dont le code est ci-dessous :
Ce programme permet de créer une fonction nommée direBonjour(). Elle n'est constituée que d'une seule
instruction qui affiche le message "Bonjour".
L'opération de création d'une fonction s'appelle la déclaration.
La déclaration d'une fonction s'effectue à l'aide du mot-clé Python def suivi du
nom de la fonction et d'une paire de parenthèses.
Les instructions qui composent la fonction constituent le corps de la fonction.
Ces instructions sont indentées puisqu'à la suite de la déclaration de la fonction il y a deux points.
En ligne 6 on fait appel à la fonction direBonjour() déclarée plus haut.
En ligne 8 on fait à nouveau appel à la fonction direBonjour().
L'appel d'une fonction s'effectue en écrivant le nom de la fonction suivi d'une paire de parenthèses.
En général avec les fonction on utilise l'instruction return qui permet de récupérer dans le programme principal le resultat renvoyé par la fonction.
Ecrivez le prpgramme return.py dont le code est ci-dessous :
En ligne 3 la fonction direBonjour() renvoie la chaîne de caractères "Bonjour".
En ligne 5 le programme principal récupère la chaîne de caractère "Bonjour" dans la variable resultat
Ecrivez le programme variables.py dont le code est ci-dessous :
  | |
Nous avons le nom de la variable prenom qui est utilisé deux fois, en ligne 3 dans la fonction
et en ligne 8 dans le preogramme principal.
La variable prenom dans la fonction est une variable locale,
elle n'est connue que de la fonction, à l'extérieur de la fonction elle est inconnue et donc
on peut nommer une variable par le même nom, il n'y aura pas d'interférence.
En ligne 10 le programme affiche la valeur de la variable prenom du programme principal
alors qu'en ligne 9 le pregramme affiche la valeur de la variable resultat
qui contient la valeur de la variable prenom de la fonction.
Nous souhaitons maintenant utiliser la fonction direBonjour() pour des personnes dont on connaît le prenom. Nous souhaiterion alors l'affichage par exemple : Bonjour Paul. Pour cela nous allons ecrire entre les parenthèses de la la fonction le parrametre prenom.
Ecrivez le programme parametre.py dont le code est ci-dessous :
Nous remarquons que la variable prenom de la fonction a été affectée par la valeur de la
variable reponse du programme principal.
Autrement dit le programme a fait : prenom=reponse.
On peut faire passer plusieurs paramètres. Modifiez le programme précédent en écrivant
le script ci_dessous.
Si nous souhaitons que des variables, initialisées à l'exrérieur de la fonction, soient connues dans la fonction, nous devons les déclarer en variable globale.
Testez le code ci-dessous.
Le résultat obtenu est (1, 11, 5).
x est une variable gobale initialisée à 0 à l'exrérieur de la fonction mais reconnue dans la fonction et prend donc la valeur 1.
La variable y, passée en paramètre et intialisée à 10, prend la valeur 11.
Et enfin la variable z déclarée dans la fonction est initialisée à 5.
Nous pourrons utiliser les fonctions lambda pour des fonctions très simples.
Testez le code ci-dessous.
La fonction affine est replacée par la fonction f qui est une fonction lambda.
Sa syntaxe est nom de la fonction = lambda arguments : resultat retourné
La fonction somme envisage la possibilité d'utiliser plusieurs arguments.
La fonction division renvoie le couple (q,r), quotient et reste de la division de x par y.
Complétez le programme carre.py ci-dessous pour que la fonction carre() renvoie le carré d'un nombre passé en paramètre.
Complétez le programme minimum.py ci-dessous pour que la fonction minimum() renvoie le plus petit des deux nombres passés en paramètre.
Complétez le programme calculatrice.py ci-dessous pour que la fonction calculer() gère
les 4 opérations mathématiques de base :
addition ("+"), soustraction ("-"), multiplication ("x") et division ("/").
Ecrire un programme multiplication.py qui utilise la fonction table(n). Cette fonction affiche la table de multiplication d'un entier n saisi par l'utilisateur.Le résultat obtenu est :
Ecrire un programme caracteres.py qui utilise la fonction change_cararctere(p,c1,c2). Cette fonction permute les caracteres c1 et c2 dans la phrase p.
p, c1, et c2 seront saisis par l'utilisateur. Le résultat obtenu est :
Ecrire un fonction lambda qui renvoie le carré d'un entier.
Ecrire une fonction lambda qui, à partir de trois valeurs x, y, z renvoie la liste [x,y,z].
Une fonction récursive est une fonction qui s'appelle elle-même.
Par exemple, la fonction ci-dessous calcule la factorielle de n, notée n !n\, à savoir :
Complétez le programme factorielle.py ci-dessous pour faire afficher n! pour une valeur n saisie par l'utilisateur.
Écrire le programme puissance.py qui utilise la fonction récursive puissance(b,n). Cette fonction élève b à la puissance n, où b est un nombre non nul et n un entier positif ou nul. On rappelle que b à la puissance 0 est égal à 1.
Écrire le programme pgcd.py qui utilise la fonction récursive pgcd(a,b).
Cette fonction renvoie le pgcd des entiers positifs a et b. On rappelle que
La suite de Fibonacci est une suite de nombres générée de la façon suivante :
Autrement dit on part des deux premières valeurs 1 et 1 et pour onbtenir la suivante on fait 1+1=2, puis on fait encore la somme de deux valeurs précédentes soit 1+2=3 ...etc.
On obtient ainsi la suite 1; 1; 2; 3; 5; 8; 13; 21; 34 ......On lit $u_0=1,\; u_1=1,\; u_2=2,\;u_3=3,\; u_4=5,\;u_5=8,\; u_6 = 13,\;u_7=21 .......$ etc.
Écrire le programme fibonacci.py qui utilise la fonction récursive fibonacci(n). Cette fonction calcule $u_n$, le terme de rang $n$ de cette suite.
Recopiez le script ci-dessous que vous nommerez operations.py
Puis dans le même répertoire que celui du script operations.py enregistrez le script calculs.py ci-desous.
Si l'on souhaite utiliser toutes les fonctions définies dans le script operatopns.py on remplacera ligne 1 par :