J'ai une tâche vraiment simple pour dessiner un X en python en utilisant Turtles, mais je n'arrive pas à comprendre comment fonctionne la méthode setposition ().

Mon code trace actuellement la première ligne correctement, mais la deuxième ligne est trop asymétrique, peu importe ce que j'essaie.

t.right(45)
t.pendown()
t.setposition(50,-50)
t.penup()
t.left(90)
t.setposition(0,-50)
t.pendown()
t.setposition(50,50)
2
Jack A 17 mars 2019 à 22:22

2 réponses

Meilleure réponse

Votre première ligne commence à (0,0) et est arrivée à (50, -50), va donc 50 unités dans la direction X et Y . Mais votre deuxième ist passe de (0,-50) à (50,50), va donc 50 unités dans la direction X et 100 unités dans Y direction. De plus, votre droite et votre gauche n'ont aucun effet.

Une solution possible serait:


t.setposition(-50,50)
t.pendown()
t.setposition(50,-50)
t.penup()
t.setposition(-50,-50)
t.pendown()
t.setposition(50,50)

1
H4kor 17 mars 2019 à 19:31

Une autre approche que vous pouvez adopter consiste à éviter complètement setposition() et à penser comme une tortue. Autrement dit, ramper vers l'avant, vers l'arrière et tourner plutôt que de se téléporter:

import turtle as t

t.right(45)
t.forward(70)
t.backward(140)
t.forward(70)
t.left(90)
t.forward(70)
t.backward(140)

t.hideturtle()
t.done()
0
cdlane 18 mars 2019 à 02:18