Index de l'article

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