Niveau : Terminale générale, enseignement de spécialité NSI
Erreur :
Erreur :
Erreur :
Erreur :
Erreur :
IndentationError: unexpected indent
Cela signifie qu'une indentation inattendue est présente.
> line 2, IndentationError: unexpected indent
IndentationError: expected an indented block
Cela signifie qu'il manque une indentation.
> line 2, IndentationError: expected an indented block
IndentationError: unindent does not match any outer indentation level
Cela signifie qu'au moment de désindenter à la fin d'un bloc, on n'a pas aligné correctement les instructions avec ce qui précède.
> line 3, IndentationError: unindent does not match any outer indentation level
SyntaxError: invalid syntax
Cette erreur peut survenir dans de nombreux cas, notamment :
> line 2, SyntaxError: invalid syntax
> line 1, SyntaxError: invalid syntax
> line 1, SyntaxError: invalid syntax
> line 2, SyntaxError: invalid syntax
> line 2, SyntaxError: invalid syntax
SyntaxError: EOL while scanning string literal
SyntaxError: unexpected EOF while parsing
Cette erreur survient lorsque les symboles ouvrant et fermant sont mal équilibrés, notamment :
> line 1, SyntaxError: unexpected EOF while parsing
> line 1, SyntaxError: EOL while scanning string literal
SyntaxError: Missing parentheses in call to ...
Cette erreur survient dans certains cas d'oubli de parenthèses.
> line 1, SyntaxError: Missing parentheses in call to 'print'
NameError: name 'var' is not defined
Cela signifie que l'on utilise une variable qui n'a pas été définie au préalable. Cette erreur peut par exemple survenir lorsque :
> line 2, NameError: name 'talbes' is not defined
> line 2, NameError: name 'somme' is not defined
> line 6, NameError: name 'etat' is not defined
TypeError: can only concatenate...
Cela survient lorsqu'on réalise une concaténation entre un élément concaténable (list, tuple...) et un élément non concaténable (int, float...). Cela arrive notamment :
> line 1, TypeError: can only concatenate list (not "int") to list
> line 2, TypeError: can only concatenate tuple (not "int") to tuple
TypeError: unsupported operand type(s) ...
Cela survient lorsque l'on réalise une opération avec des éléments dont le type n'est pas cohérent, par exemple :
> line 2, TypeError: unsupported operand type(s) for +: 'int' and 'tuple'
> line 2, TypeError: unsupported operand type(s) for +: 'int' and 'str'
> line 3, TypeError: unsupported operand type(s) for /: 'str' and 'str'
TypeError: must be str, not int
Survient en cas d'oubli du "eval" dans une saisie
> line 2, TypeError: must be str, not int
TypeError: bad operand type for ...
Cela survient lorsqu'on fait appel à une fonction prédéfinie de Python avec un paramètre dont le type n'est pas valide.
> line 1, TypeError: bad operand type for abs(): 'str'
TypeError: 'int' object is not callable
Cela survient lorsqu'il y a des parenthèses directement après un entier, notamment dans le cas où un opérateur est manquant (ici le * avant la parenthèse)
> line 1, TypeError: 'int' object is not callable
TypeError: f() takes 1 positional arguments but 2 were given
Cela survient lorsque le nombre de paramètres donnés au moment de l'appel à une fonction est supérieur au nombre de paramètres donnés dans la définition de la fonction.
> line 3, TypeError: f() takes 1 positional arguments but 2 were given
TypeError: f() missing 1 required positional argument: 'x'
Cela survient lorsque le nombre de paramètres donnés au moment de l'appel à une fonction est inférieur au nombre de paramètres donnés dans la définition de la fonction.
> line 3, TypeError: f() missing 1 required positional argument: 'x'
IndexError: list index out of range
Cette erreur survient en cas de dépassement d'indice maximal dans un tableau
> line 2, IndexError: list index out of range
AssertionError
Cela survient lorsqu'une assertion ajoutée au programme est fausse. Un message d'erreur plus détaillé peut être ajouté par le programmeur.
> line 2, AssertionError: nb doit être différent de 0 !
Cette capsule vidéo présente la mise en évidence de l'effet de bord, en utilisant l'outil de débuggage du logiciel Edupython
Ce programme demande de saisir un à un les éléments d'un tableau de taille 10 puis affiche ce tableau et la somme de ses éléments
Exemple de résulat attendu :
Veuillez saisir une valeur : 10 Veuillez saisir une valeur : 20 Veuillez saisir une valeur : 30 Veuillez saisir une valeur : 1 Veuillez saisir une valeur : 2 Veuillez saisir une valeur : 3 Veuillez saisir une valeur : 4 Veuillez saisir une valeur : 5 Veuillez saisir une valeur : 6 Veuillez saisir une valeur : 7 tableau : [10, 20, 30, 1, 2, 3, 4, 5, 6, 7] Somme : 88
Dans ce programme, on définit une fonction qui prend en paramètre un tableau et qui retourne la moyenne des éléments de ce tableau, puis on teste cette fonction sur différents paramètres
Exemple de résulat attendu :
>>> tab = [1, 10, 2, 9, 20] >>> moyenne(tab) 8.4 >>> tab = [10, 8] >>> moyenne(tab) 9.0 >>> tab = [1, 1, 1, 1, 10, 20, 100] >>> moyenne(tab) 19.14285714285714
Dans ce programme, on définit une fonction qui prend en paramètre un tableau et qui retourne le nombre d'éléments supérieurs à 10 dans ce tableau
Exemple de résulat attendu :
>>> nombre_de_superieurs_a_10([]) 0 >>> nombre_de_superieurs_a_10([12, 5, 18]) 2
Une place de cinema coûte 5 euros pour les moins de 10 ans, 6 euros pour les enfants de 10 ans, 8 euros pour les moins de 18 ans (mais plus de 10 ans) et 9 euros pour les autres. Dans le programme ci-dessous, on définit une fonction prenant en paramètre un âge et retournant le prix de la place de cinéma.
Exemple de résulats attendus :
>>> prix_place(2) 5 >>> prix_place(20) 9
Dans ce programme, on définit une procédure table qui prend en paramètre un nombre et qui affiche la table de multiplication de ce nombre.
Exemple de résulat attendu :
>>> table(5) 1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25 6 * 5 = 30 7 * 5 = 35 8 * 5 = 40 9 * 5 = 45 10 * 5 = 50
On veut simuler un jeu à deux joueurs. On appellera ces joueurs A et B. Chaque joueur possède un pion, qui se déplace sur un circuit linéaire composé de 20 cases. À chaque tour les deux joueurs partent de la case 1, et jouent simultanément de la façon suivante :
Le jeu s'arrête lorsque l'un des pions atteint ou dépasse la vingtième case. Le joueur à qui appartient le pion a alors gagné.
Ce programme définit une fonction tour ne prenant aucun paramètre, simulant les 7 lancers et retournant le nombre de cases dont le joueur doit avancer. À l'aide de cette fonction, le programme simule le jeu complet.
Exemple de résulat attendu :
Les joueurs lancent les dés ... Le pionA se trouve sur la case : 3 Le pionB se trouve sur la case : 3 Les joueurs lancent les dés ... Le pionA se trouve sur la case : 5 Le pionB se trouve sur la case : 5 Les joueurs lancent les dés ... Le pionA se trouve sur la case : 7 Le pionB se trouve sur la case : 7 Les joueurs lancent les dés ... Le pionA se trouve sur la case : 8 Le pionB se trouve sur la case : 9 Les joueurs lancent les dés ... Le pionA se trouve sur la case : 10 Le pionB se trouve sur la case : 11 Les joueurs lancent les dés ... Le pionA se trouve sur la case : 12 Le pionB se trouve sur la case : 13 Les joueurs lancent les dés ... Le pionA se trouve sur la case : 14 Le pionB se trouve sur la case : 15 Les joueurs lancent les dés ... Le pionA se trouve sur la case : 16 Le pionB se trouve sur la case : 17 Les joueurs lancent les dés ... Le pionA se trouve sur la case : 17 Le pionB se trouve sur la case : 19 Les joueurs lancent les dés ... Le pionA se trouve sur la case : 19 Le pionB se trouve sur la case : 21 Le pion B a gagné !
On veut simuler un jeu à deux joueurs. On appellera ces joueurs A et B. Ces deux joueurs partent d'un score de 0 points. À chaque tour :
Les joueurs effectuent 10 tours (les scores négatifs sont autorisés), et le joueur ayant le plus de points à la fin gagne.
Ce programme définit une fonction tour ne prenant pas de paramètre, simulant un tour de jeu et retournant le nombre de points gagnés (c'est-à-dire -1, -3, 4 ou 8 selon les résultats des dés). Puis ce programme simule le jeu complet à l'aide de cette fonction.
Exemple de résulat attendu :
tour 1 joueur A : -1 Joueur B : -3 tour 2 joueur A : -3 Joueur B : 5 tour 3 joueur A : -6 Joueur B : 3 tour 4 joueur A : -8 Joueur B : 1 tour 5 joueur A : 0 Joueur B : -2 tour 6 joueur A : -3 Joueur B : -5 tour 7 joueur A : -4 Joueur B : 3 tour 8 joueur A : -6 Joueur B : 1 tour 9 joueur A : 2 Joueur B : 0 tour 10 joueur A : 0 Joueur B : -1 Joueur A a gagné
Dans ce programme, on définit une procédure freq_1_6 qui :
Remarque : La somme des fréquences doit être égale à 1
Ce programme :
Exemple de résulat attendu :
La fréquence de la valeur 1 est 0.13 La fréquence de la valeur 2 est 0.13 La fréquence de la valeur 3 est 0.2 La fréquence de la valeur 4 est 0.19 La fréquence de la valeur 5 est 0.16 La fréquence de la valeur 6 est 0.19 Tableau d'occurences [13, 13, 20, 19, 16, 19]
Jeu du Motus :
Télécharger le fichier motus.py
Ouvrir le fichier avec Edupyton et corrigez les erreurs
Collez votre jeu fonctionnel ci-dessous
Fond : Texte : Tables : Thème Python:
Contenu
sous
licence CC BY-NC-SA 3.0
Amandine Schreck
Mise à jour le 26/08/2022