Hello,
J'ai une question par rapport à la comparaison de tuple avec Python, car je n'ai pas le même comportement avec l'interpréteur et avec un code exécuté. En effet, je souhaite mettre en avant l'utilisation des fonctions poly de turtle et pour ce faire, je veux comparer le premier point avec le dernier pour savoir si nous ne sommes pas revenus au point de départ. Or, il se trouve qu'à chaque fois la comparaison != retourne True, même si le point d'arrivée est identique au point de départ. J'ai essayé en changeant de position de départ ainsi que la forme de la figure, mais ça ne change pas et je ne comprends pas ce qui ne va pas :
Avec la console :
1 2 3 4 | (-0.00, 0.00) == (0.00, 0.00) >> True (-0.00, 0.00) != (0.00, 0.00) >> False |
Avec le code (cf. notre_end_fill) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import turtle def notre_begin_fill(): turtle.begin_fill() turtle.begin_poly() def notre_end_fill(): turtle.end_poly() poly = turtle.get_poly() if poly[0] != poly[-1]: #Devrait être False print(poly) #Affiche ((0.00,0.00), (90.00,0.00), (90.00,90.00), (0.00,90.00), (-0.00,0.00)) print(poly[0]) #Affiche (0.00,0.00) print(poly[-1]) #Affiche (-0.00,0.00) turtle.goto(poly[0]) turtle.end_fill() if __name__ == "__main__": turtle.color("red", "green") notre_begin_fill() for i in range(4): turtle.forward(90) turtle.left(90) notre_end_fill() |
Merci de votre aide !
EDIT : La version de Python utilisée est la 3.4.3