GUIDE DE SURVIE PYTHON 178
• print("Coucou" Python renvoie le message d’erreur SyntaxError : unexpected EOF while parsing
car l’expression est mal parenthésée.
• if val = 1: Encore une erreur de syntaxe, car il faudrait écrire if val == 1:.
5.3. Erreurs de type
• Entier
n = 7.0
for i in range(n):
print(i)
Python renvoie le message d’erreur TypeError : ’float’ object cannot be interpreted as an integer. En effet
7.0 n’est pas un entier, mais un nombre flottant.
• Nombre flottant
x = "9"
sqrt(x)
Python renvoie le message d’erreur TypeError : a float is required, car "9" est une chaîne de caractères
et pas un nombre.
• Mauvais nombre d’arguments
gcd(12) Python renvoie le message d’erreur TypeError : gcd() takes exactly 2 arguments (1 given) car
la fonction gcd() du module math a besoin des deux arguments, comme par exemple gcd(12,18) .
5.4. Erreurs de nom
• if y != 0: y = y - 1 Python renvoie le message NameError : name ’y’ is not defined si la variable
y n’a pas encore été définie.
• Cette erreur peut aussi se produire si les minuscules/majuscules ne pas scrupuleusement respectées.
variable , Variable et VARIABLE sont trois noms de variables différents.
• x = sqrt(2) Python renvoie le message NameError : name ’sqrt’ is not defined, il faut importer le
module math pour pouvoir utiliser la fonction sqrt() .
• Fonction non encore définie
produit(6,7)
def produit(a,b):
return a*b
Renvoie une erreur NameError : name ’produit’ is not defined car une fonction doit être définie avant
d’être utilisée.
5.5. Exercice
Corrige le code ! Python doit afficher 7 5 9.
a == 7
if (a = 2) or (a >= 5)
b = a - 2
c = a + 2
else
b = a // 2
c = 2 * a