Aller au contenu principal

Programmer avec Python

Les erreurs courantes

Ce que disent les messages, et comment les corriger.

Chaque erreur s'affiche en rouge dans la sortie, avec le numéro de ligne ; cliquer dessus surligne la ligne dans l'éditeur.

MessagePourquoiQue faire
« rayon » attend un nombre (tu as donné "30")tu as écrit une chaîne à la place d'un nombrerayon=30, sans guillemets
« dents » va de 4 à 200 (tu as demandé 3)valeur hors bornesvoir Bornes et limites
Un engrenage a un nombre ENTIER de dents (tu as demandé 12.5)les dents se comptentdents=12
Le matériau « fer » n'existe pas. Ceux du labo : wood, steel…nom inconnubois, caoutchouc, verre, glace, pierre, acier, or, helium, standard (ou l'anglais)
Les étages vont de 0 à 15 (tu as demandé 16)il n'y a que 16 étagesun étage entre 0 et 15
Un pivot relie 1 à 2 objets (tu en as donné 3). Pour rendre plusieurs pièces solidaires…une charnière n'a que deux piècesaxe(...) ou soude=True
Un pivot soudé ne tourne pas : il n'a ni moteur, ni frein, ni butées.options incompatiblesretire moteur/frein/butees, ou retire soude
Un pivot ne peut pas être à la fois moteur et freiné.choisis
Une butée va du plus petit au plus grand angle (tu as donné 45 à -45).butees=[min, max]butees=[-45, 45]
« to_ground » ne sert qu'avec deux objetsfixe_au_fond sur une charnière au monderetire-le
Deux engrenages n'engrènent que s'ils ont le MÊME module : ici 10 et 8.modules différentsle même module
Un engrenage ne peut pas engrener avec lui-même.engrener(a, a)deux roues
Cet engrenage n'entraîne rien : il n'engrène avec aucun autre.chaine() sur une roue seuleengrener() d'abord
Un dessin demande au moins 3 points (tu en as donné 2).trois points ou plus
« masse » se LIT mais ne se règle pas. Ce qui se règle : x, y, angle.on ne peut régler que la position et l'anglechange le matériau à la création
« vitesse » n'existe pas sur un objet.propriété inconnuevoir Les objets
tu as donné deux fois le même réglage, avec des valeurs différentesrayon=30, radius=40un seul des deux
cette fonction attend un objet du labo, pas 12tu as passé un nombre là où il faut un objetla variable de la pièce
Cet objet ne fait pas partie de la scène construite.un objet d'un autre runcrée-le dans ce script, ou reprends-le avec scene.trouver()
mech.inertia ne marche que sur un objet déjà dans la scène (scene.objects())l'inertie se lit sur le corps physique réelaprès une exécution, via scene.objets()
Ton programme crée plus de 500 objets — as-tu une boucle qui ne s'arrête pas ?vérifie tes range()
NameError: name 'cerlce' is not definedfaute de frappe (Python)l'autocomplétion : tape cer puis Tab
TypeError: circle() got an unexpected keyword argument 'diametre'paramètre inexistant (Python)rayon= — voir la fiche de la fonction