Aide Débutant Turtle - Python
Résolu
Dwenyl
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
quent217 Messages postés 420 Date d'inscription Statut Membre Dernière intervention -
quent217 Messages postés 420 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
En cour de NSI, nous avons pour instruction de créer un logo portant sur cette matière en utilisant Turtle. J'ai alors décidé de créer un logo comprenant la planète (où je mettrais un @ dessus en suivant la forme du cercle), et avec les lettres N, S et I tout en haut. Il n'est pas encore finit et manque encore pleins de détails.
Problème : Le fonctionnement des lettres et de la planète fonctionne intégralement. Mais dès que je trace des lignes dans mon cercle, tout part en cacahuètes ! Les lettres s'en vont à l'autre bout de la fenêtre qu'on ne les voit même plus, le changement de couleur et de taille de pinceau ne sont plus pris en compte et au final plus rien ne va. Je n'ai aucun message d'erreur.

Et voilà le problème :

(Oui je sais c'est horrible mais je n'arrive pas à être correcte dans mes traits. Si vous avez des recommandations je suis preneuse. Du aux nombreux détails la reproduction n'est pas fidèle à la Terre mais je veux au moins que ça en ai l'air, même si les continents ne sont pas précis)
Voici le code. Du mon peu d'expérience, il y a énormément de lignes juste pour un petit déplacement car je n'arrive pas encore à bien prendre en main les fonctions. Donc tant que ça marche, je suis contente. Les lignes qui sont entre guillemets """, c'est là où je commence les courbes sur le cercle, et en l’occurrence là ou il y a problème. Quelqu'un aurait-il une solution ?
Merci d'avance.
En cour de NSI, nous avons pour instruction de créer un logo portant sur cette matière en utilisant Turtle. J'ai alors décidé de créer un logo comprenant la planète (où je mettrais un @ dessus en suivant la forme du cercle), et avec les lettres N, S et I tout en haut. Il n'est pas encore finit et manque encore pleins de détails.
Problème : Le fonctionnement des lettres et de la planète fonctionne intégralement. Mais dès que je trace des lignes dans mon cercle, tout part en cacahuètes ! Les lettres s'en vont à l'autre bout de la fenêtre qu'on ne les voit même plus, le changement de couleur et de taille de pinceau ne sont plus pris en compte et au final plus rien ne va. Je n'ai aucun message d'erreur.
Et voilà le problème :
(Oui je sais c'est horrible mais je n'arrive pas à être correcte dans mes traits. Si vous avez des recommandations je suis preneuse. Du aux nombreux détails la reproduction n'est pas fidèle à la Terre mais je veux au moins que ça en ai l'air, même si les continents ne sont pas précis)
Voici le code. Du mon peu d'expérience, il y a énormément de lignes juste pour un petit déplacement car je n'arrive pas encore à bien prendre en main les fonctions. Donc tant que ça marche, je suis contente. Les lignes qui sont entre guillemets """, c'est là où je commence les courbes sur le cercle, et en l’occurrence là ou il y a problème. Quelqu'un aurait-il une solution ?
Merci d'avance.
from turtle import*
setup(width=780,height=750)
hideturtle() #cacher le curseur
bgcolor("black") #mettre le fond de couleur noir
speed(20) #vitesse du tracé
width(5) #changement de l'épaisseur du trait
pencolor("SteelBlue4")
begin_fill()
penup() #création de la planète
setposition(0,-350)
pendown()
circle(180)
color("DeepSkyBlue2")
end_fill()
"""penup() #création du coté gauche (courbes)
setposition(-75,-10)
pencolor("green")
width(3)
pendown()
begin_fill()
for x in range(13):
right(1)
forward(5)
for x in range(22):
right(8)
forward(3)
left(5)
forward(30)
for x in range(6):
left(20)
forward(15)
forward(15)
for x in range(5):
right(8)
forward(10)
for x in range(5):
left(20)
forward(10)
forward(10)
for x in range(13):
right(15)
forward(10)
forward(20)
for x in range(3):
right(10)
forward(10)
forward(5)
for x in range(5):
left(5)
forward(8)
forward(25)
for x in range(3):
left(10)
forward(4)
right(90)
forward(5)
for x in range(5): #tracage sur la ligne bleu
left(5)
forward(5)
for x in range(4):
right(10)
forward(10)
forward(50)
for x in range(3):
right(10)
forward(10)
forward(50)
for x in range(3):
left(5)
forward(5)
for x in range(3):
right(10)
forward(10)
for x in range(3):
right(5)
forward(5)
color("green")
end_fill()"""
penup() # LETTRE N
setposition(-380,150)
width(4)
pendown()
left(90)
forward(200)
x=0
for x in range(4):
right(40)
forward(10)
forward(300)
x=0
for x in range(4):
left(40)
forward(10)
forward(280)
penup() # LETTRE S
setposition(100,350)
pendown()
left(90)
forward(200)
for x in range(22):
left(8)
forward(10)
left(4)
forward(150)
for x in range(22):
right(8)
forward(10)
right(4)
forward(200)
penup() # LETTRE I
setposition(300,350)
pendown()
left(90)
forward(300)
pencolor("red") # Création des objets commplémentaires
width(3)
penup() # Téléphone (Lettre N)
setposition(-223,57) # partie basse
pendown()
right(90)
forward(157)
right(90)
forward(100)
penup()
setposition(-223,57)
pendown()
forward(20)
penup() # partie haute
setposition(-380,360)
pendown()
right(90)
forward(157)
penup()
setposition(-380,360)
pendown()
right(90)
forward(10)
width(2) # bouton d'acceuil
penup()
setposition(-310,80)
pendown()
circle(10)
width(3) # Souris (Lettre S)
penup()
setposition(100,360)
pendown()
forward(20)
for x in range(2):
left(40)
forward(5)
left(10)
forward(30)
for x in range(2):
left(40)
forward(5)
width(2)
left(10) # boucle de la souris
forward(7)
left(90)
forward(20)
right(90)
forward(5)
right(90)
forward(20)
right(90)
forward(5)
right(180)
width(3)
forward(13) # sortie de la boucle
for x in range(2):
left(40)
forward(5)
left(10)
forward(31)
for x in range(2):
left(40)
forward(5)
width(3) # Télévision (Lettre S)
penup()
setposition(-80,65)
pendown()
left(100)
forward(80)
penup() # pied de la télévision
setposition(-40,65)
width(4)
pendown()
left(90)
forward(20)
right(90) # écran de la télévision
forward(40)
left(90)
forward(30)
left(90)
forward(80)
left(90)
forward(30)
left(90)
forward(40)
exitonclick()
Configuration: Windows / Firefox 81.0
A voir également:
- Aide Débutant Turtle - Python
- Citizen code python avis - Accueil - Outils
- Logiciel de programmation pour débutant - Guide
- Logiciel montage vidéo débutant - Guide
- \R python ✓ - Forum Python
- Mot secret python pix ✓ - Forum Python
2 réponses
Bonjour,
Sur la deuxième capture d'écran, on reconnait les lignes qui composent les lettres, mais celles-ci sont penchées sur la gauche. Cela indique que la tortue est tout simplement mal orientée.
C'est normal, après l'avoir fait se déplacer le long de la forme verte, elle n'a aucune raison de se retrouver dans la même orientation qu'avant. (Elle a un angle de 21° au lieu de 0°)
Pour résoudre le problème, il suffit de la remettre dans la bon sens après avoir tracé le continent en faisant
Sur la deuxième capture d'écran, on reconnait les lignes qui composent les lettres, mais celles-ci sont penchées sur la gauche. Cela indique que la tortue est tout simplement mal orientée.
C'est normal, après l'avoir fait se déplacer le long de la forme verte, elle n'a aucune raison de se retrouver dans la même orientation qu'avant. (Elle a un angle de 21° au lieu de 0°)
Pour résoudre le problème, il suffit de la remettre dans la bon sens après avoir tracé le continent en faisant
seth(0).
Bonjour Dwenyl,
L'indentation étant importante en Python, merci de re poster ton code avec les balises de code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci :
L'indentation étant importante en Python, merci de re poster ton code avec les balises de code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci :
def test(): print('test') test()