On considère un programme Python permettant de tester l'âge d'une personne :

Lors de l'exécution du programme, on obtient un message d'erreur :
\text{SyntaxError: invalid syntax}
Comment peut-on corriger simplement ce programme ?
En Python, il faut noter les deux points « : » à la fin des lignes contenant \text{if} et \text{else}.
Le programme correctement écrit est le suivant :

On considère un programme Python permettant de tester l'âge d'une personne :

Lors de l'exécution du programme, on obtient un message d'erreur :
\text{TypeError: addition() takes 1 positional argument but 2 were given}
Comment peut-on corriger simplement ce programme ?
En Python, pour définir une fonction, il faut utiliser le mot-clé \text{def} suivi du nom de la fonction, et les arguments que prend la fonction entre parenthèses.
Ici, la fonction \text{addition} doit prendre deux arguments : \text{x} et \text{x} . Enfin, on renvoie le résultat avec le mot-clé \text{return} .
Le programme correctement écrit est le suivant :

On considère un programme Python permettant de retourner la somme des termes d'un tableau :

Lors de l'exécution de \text{somme([1{,}2{,}3{,}15{,}8])} , on obtient 1, ce qui n'est pas le bon résultat.
Comment peut-on corriger simplement ce programme ?
Pour calculer la somme des termes d'un tableau, on définit une variable \text{somme} qui vaut 0 au début et dans laquelle on ajoute tous les termes du tableau.
Pour cela on parcourt le tableau avec une boucle \text{for element in liste:} et on utilise l'opérateur \text{+=} qui est équivalent à écrire \text{somme = somme + element} . Comme \text{somme} vaut 0 au début, à la fin de la boucle elle voudra bien la somme de tous les termes.
Le problème dans le programme vient du fait que l'instruction \text{return} est mal indentée, elle renvoie le premier élément du tableau.
Le programme correctement écrit est le suivant :

On considère un programme Python permettant de retourner le premier élément plus grand que 10 d'un tableau :

Lors de l'exécution du programme, on obtient un message d'erreur :
\text{SyntaxError: invalid syntax }
Comment peut-on corriger simplement ce programme ?
La syntaxe pour écrire une fonction est \text{def ma_fonction(argument):} suivi du corps de la fonction indenté.
Pour parcourir les éléments d'une liste, on peut utiliser une boucle \text{for} dont la syntaxe est :
\text{for element in liste:}
Pour retourner le premier élément d'une liste plus grand que 10, on utilise une condition : \text{if element > 10:} et on retourne l'élément en question avec le mot-clé \text{return} .
Le programme correctement écrit est le suivant :

On considère un programme Python permettant de retourner les racines d'un polynôme du second degré :

Lors de l'exécution de la commande \text{racines(2, 1, 3)} , on obtient un message d'erreur :
\text{ValueError: math domain error}
Comment peut-on corriger simplement ce programme ?
Pour déterminer les racines d'un polynôme, on calcule le discrimant \Delta :
\Delta = b^2 - 4ac
Si \Delta est strictement positif, alors on a deux racines :
S = \left\{ \dfrac{-b-\sqrt{\Delta}}{2a} ; \dfrac{-b+\sqrt{\Delta}}{2a} \right\}
Si \Delta est nul, on a une seule racine :
S = \left\{ \dfrac{-b}{2a} \right\}
Si \Delta est strictement négatif, le polynôme ne s'annule jamais.
La fonction \text{sqrt} en Python appartient au module \text{math} , on doit donc écrire \text{math.sqrt} pour l'utiliser.
Note : Il faut écrire \text{import math} avant d'appeler la fonction.
Le programme correctement écrit est le suivant :
