Page 7 sur 7
Script ultime - le graal
Objectif
Pouvoir dormir ce soir ;) et vous proposer, j'en suis assez fier, un script qui fonctionne dans tous les cas de figure...
Pour vous impressionner avec un joli dessin, vous noterez les valeurs utilisées dans la fenêtre Python Turtle Graphics:
- rayon=200 #rayon du cercle
- npt=100 #nbre de points
- table=35 #Saisir ici des valeurs entières
Script
from turtle import *
# jouer avec les valeurs npt et table
# si dessin pas à la bonne taille jouer alors avec rayon
rayon=200 #rayon du cercle
npt=100 #nbre de points
table=35 #Saisir ici des valeurs entières
# la suite n'est pas à modifier!!
pos={} #dictionnaire
penup()
goto(0,-rayon)
pendown()
for i in range(npt):
dot()
write(i)
pos[i]=position()
circle(rayon,360/npt)
penup()
home()
# tracer des traits
for i in range (npt):
penup()
j=i*table
goto(pos[i])
pendown()
goto(pos[j%npt]) # voir l'analyse pour comprendre ce modulo
Analyse
En vidéo avec Thonny et le mode débug. L'idée est de résoudre le problème de l'étape précédente pour des j supérieurs au nombre de points de mon cercle. La discussion tourne donc autour de la dernière ligne:
goto(pos[j%npt]) # voir l'analyse pour comprendre ce modulo
- j%npt => donne le reste de la division entière de j par npt ce qui correspond au modulo en mathématique
https://www.youtube.com/watch?v=cvP_QffIqXI