Introduction à Python Dans la partie précédente, nous avons vu des fonctions prédéfinies. Il est tout à fait possible de définir ses propres fonctions. L'intérêt est bien sûr de pouvoir les réutiliser en les appelant simplement par leur nom. La syntaxe pour définir une fonction est la suivante : def mafonction(arguments): ...étapes... ...encore des étapes... return valeur_finale où on a : Les espaces qui décalent chaque ligne de la fonction sont appelés indentations. Les programmeurs ont l'habitude d'indenter leur code pour le rendre plus lisible (avec la touche Tabulation). Python oblige le programmeur à indenter : si il ne le fait pas correctement une erreur sera générée. Dans le fichier Python, le code situé après la fonction n'est plus indenté. Les fonctions peuvent avoir un, plusieurs ou aucun arguments et ne renvoie pas forcément une valeur : La fonction suivante prend deux nombres entiers en arguments et retourne une liste de deux éléments formés du quotient et du reste par la division euclidienne : def division_euclidienne(a, b): q=a//b r=a%b return [q,r] En exécutant le programme, la fonction est déclarée. Pour l'utiliser il faudra par exemple taper la commande division_euclidienne(7,2) qui renverra [3,1]. Une fonction, comme en math, ne peut pas renvoyer deux valeurs. Quand une fonction calcule plusieurs valeurs, elle peut les renvoyer à l'aide d'une liste comme dans l'exemple précédent. La fonction suivante ne prend aucun argument et ne renvoie aucune valeur : def hello(): print("Hello !") Pour déclarer et appeler une fonction sans argument, il faut tout de même mettre les parenthèses vides. Dans une fonction, on évite en général d'utiliser la fonction d'entrée input() qui stoppe l'exécution. Reprendre le fichier geogemtrie.py et modifier de la manière suivante : Déclarer une fonction distance() qui prend quatre arguments correspondant aux coordonnées de deux points $A$ et $B$ et renvoie la distance $AB$ Ne plus utiliser les fonctions input() et print() et tester la fonctions distance() dans la console sur quelques exemples à l'aide de la figure interactive suivante.

Python est un langage de programmation permettant d'effectuer des traitement numériques, mais pas de calcul algébrique. Par exemple Python ne sait pas ce que sont les fractions, ni leurs règles de calcul. Nous allons ici créer des fonctions permettant de compenser cette lacune.

Créer un nouveau fichier fractions.py. Dans ce programme, nous représenterons une fractions $\frac{a}{b}$ par une liste deux deux nombres [a,b].

Créer une fonction produit() prenant deux arguments f1 et f2 (représentant deux fractions $\frac{a}{b}$ et $\frac{c}{d}$ ) et renvoyant une liste représentant le produit des deux fractions $\frac{a c}{b d}$. Créer une fonction quotient() prenant deux arguments f1 et f2 (représentant deux fractions et renvoyant une liste représentant leur quotient. Créer une fonction somme() prenant deux arguments f1 et f2 (représentant deux fractions et renvoyant une liste représentant leur somme. Créer une fonction difference() prenant deux arguments f1 et f2 (représentant deux fractions et renvoyant une liste représentant leur différence. Tester les fonctions créees sur des calculs tels que $\frac{5}{2} (\frac{1}{2} + \frac{1}{3})$ Cette représentation présente quelques défauts. Lesquels ?

Indice 1

Si L est une liste à deux éléments représentant une fraction $\frac{a}{b}$, le numérateur est représenté par L[0] et le dénominateur par L[1].

Indice 2

Quelques défauts : un dénominateur nul est accepté, même s'il donne un résultat absurde. Les fractions ne sont pas toujours irréductibles.

Indice 2'

Un simple nombre en argument aurait un sens dans la plupart des cas, mais encore faut-il en tenir compte. etc.
C'est tout pour l'instant, n'oubliez pas de bien sauvegarder votre travail... La suite de cette introduction à Python se trouve ci-dessous. Vous y découvrirai les tests et les conditions qui permettent de traiter différents cas et de rendre un programme adaptable.
 - jeu

Tester des conditions en Python à l'aide de if... then... else...