Erreur terminator turtle
Résolu
Bonjour,
Voici mon programme:
Je ne comprends pas pourquoi mais la console me met un message disant:
Merci de bien vouloir m'aidé
Voici mon programme:
from turtle import * def triangleEqui(cote): shape('turtle') for loop in range(3): forward (cote) left(120) exitonclick() def carre(cote): shape('turtle') for loop in range(4): forward(cote) left(90) exitonclick() def hexagone(cote): shape('turtle') for loop in range(6): forward(cote) left(60) exitonclick() def etoile(cote): shape('turtle') for loop in range(30): forward(cote) left(170) exitonclick() def lignetrig(cote): shape('turtle') for loop in range(5): for loop in range (3): forward(cote) left(120) forward(cote) exitonclick() def lignecarre(cote): shape('turtle') for loop in range(5): for loop in range (4): forward(cote) left(90) forward(cote) exitonclick() i=1 while i==1: nbForme = int(input("Entrez un nombre\n1 pour un triangle\n2 pour une ligne triangle\n3 pour un carré\n4 pour une ligne de carré\n5 pour une etoile\n6 si vous voulez quitter le programme\n")) if nbForme == 1: triangleEqui(100) elif nbForme == 2: lignetrig(70) elif nbForme == 3: carre(100) elif nbForme == 4: lignecarre(50) elif nbForme == 5: etoile(200) elif nbForme == 6: i=2
Je ne comprends pas pourquoi mais la console me met un message disant:
Traceback (most recent call last):
File "<string>", line 8, in forward
File "C:\Users\Elève\AppData\Local\Programs\Spyder\pkgs\turtle.py", line 1637, in forward
self._go(distance)
File "C:\Users\Elève\AppData\Local\Programs\Spyder\pkgs\turtle.py", line 1605, in _go
self._goto(ende)
File "C:\Users\Elève\AppData\Local\Programs\Spyder\pkgs\turtle.py", line 3178, in _goto
self._pencolor, self._pensize, top)
File "C:\Users\Elève\AppData\Local\Programs\Spyder\pkgs\turtle.py", line 545, in _drawline
self.cv.coords(lineitem, *cl)
File "<string>", line 1, in coords
File "C:\Users\Elève\AppData\Local\Programs\Spyder\pkgs\tkinter\__init__.py", line 2469, in coords
self.tk.call((self._w, 'coords') + args))]
TclError: invalid command name ".!canvas"
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\Elève\nbForme.py", line 86, in <module>
lignecarre(50)
File "C:\Users\Elève\nbForme.py", line 57, in lignecarre
forward(cote)
File "<string>", line 12, in forward
Terminator
Merci de bien vouloir m'aidé
Configuration: Windows / Firefox 93.0
A voir également:
- Turtle.terminator error
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Java code erreur 1603 ✓ - Forum Windows
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
peux-tu tenir compte de ceci quand tu partages du code?
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
peux-tu tenir compte de ceci quand tu partages du code?
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Bonjour,
C'est parce qu'avec
On peut au passage améliorer un peu la boucle : pas besoin de deux variables.
Par ailleurs, les conventions python (voir PEP8) recommandent de nommer les variables sous cette forme :
Ensuite je te recommande d'ajouter en début de fichier l'en-tête suivante :
(la première ligne permet, sous linux, de définir l'interpréteur à utiliser quand le script est lancé ; la seconde permet d'avoir des caractères spéciaux dans le script)
Enfin on peut améliorer un peu la fabrication du menu pour la rendre plus lisible :
Bonne chance
C'est parce qu'avec
exitonclick()tu fermes ta fenêtre et il n'y en a plus ou dessiner. Tu peux remplacer tes
exitonclick()par
clear(). Le plus propre serait d'ailleurs de le supprimer complètement de toutes tes fonction et d'insérer
clear()au bon endroit (voir ci-dessous) -- idem pour les fonctions.
On peut au passage améliorer un peu la boucle : pas besoin de deux variables.
Par ailleurs, les conventions python (voir PEP8) recommandent de nommer les variables sous cette forme :
nom_de_variable. Il en va de même pour les fonction (même si
turtlene la respecte pas).
Ensuite je te recommande d'ajouter en début de fichier l'en-tête suivante :
#!/usr/bin/env python3 # -*- coding: utf-8 -*-
(la première ligne permet, sous linux, de définir l'interpréteur à utiliser quand le script est lancé ; la seconde permet d'avoir des caractères spéciaux dans le script)
Enfin on peut améliorer un peu la fabrication du menu pour la rendre plus lisible :
#!/usr/bin/env python3 # -*- coding: utf-8 -*- from turtle import * def triangle_equilateral(cote): for loop in range(3): forward(cote) left(120) def carre(cote): for loop in range(4): forward(cote) left(90) def hexagone(cote): for loop in range(6): forward(cote) left(60) def etoile(cote): for loop in range(30): forward(cote) left(170) def ligne_triangles(cote): for loop in range(5): for loop in range (3): forward(cote) left(120) forward(cote) def ligne_carres(cote): for loop in range(5): for loop in range (4): forward(cote) left(90) forward(cote) choix_menu = None while choix_menu != 6: choix_menu = int(input("\n".join([ "Entrez un nombre", "1 pour un triangle", "2 pour une ligne de triangles", "3 pour un carré", "4 pour une ligne de carrés", "5 pour une étoile", "6 si vous voulez quitter le programme", "" ]))) clear() shape('turtle') if choix_menu == 1: triangle_equilateral(100) elif choix_menu == 2: ligne_triangles(70) elif choix_menu == 3: carre(100) elif choix_menu == 4: ligne_carres(50) elif choix_menu == 5: etoile(200)
Bonne chance