Apprenez Python en dessinant (Turtle Graphics)

Qu'est-ce que Turtle Graphics?

Basé sur le langage de programmation pédagogique "LOGO", la tortue à l'écran est exploitée par programmation et dessinée comme une figure. Développé dans les années 1960, il est parfois utilisé pour l'apprentissage des programmes pour enfants, car les résultats du programme peuvent être immédiatement confirmés visuellement.

environnement

Touch Turtle Graphics (coque interactive)

Tout d'abord, jetons un coup d'œil à Turtle Graphics en utilisant un shell interactif.

Ouvrez l'écran du terminal PyCharm et tapez «Python».

$ Python

Maintenant que vous avez un shell interactif, importez turtle.

>>> import turtle

Entrez ensuite turtle.forward (100).

>>> turtle.forward(100)

Ensuite, le graphique démarrera comme indiqué ci-dessous.

image.png

Cela signifie que la flèche a avancé 100 fois vers l'avant.

Si vous voulez que la flèche pointe vers le bas, pliez-la de 90 degrés vers la droite comme turtle.right (90).

>>> turtle.right(90)

image.png

Dans cet état, entrez à nouveau turtle.forward (100) pour continuer vers le bas.

>>> turtle.forward(100)

image.png

Si vous pensez que la forme de la flèche de début est terne, vous pouvez la changer avec shape. (). Cette fois, je voudrais le changer en tortue.

>>> turtle.shape('turtle')

image.png

Il est également possible de changer la couleur de cette tortue avec color ().

>>> turtle.color('red')

image.png

Si vous voulez cacher cette tortue, utilisez hideturtle ().

>>> turtle.hideturtle()

image.png

Tapez show turtle () si vous voulez que la tortue cachée réapparaisse.

>>> turtle.showturtle()

image.png

Vous pouvez également dessiner un cercle en plus d'une ligne droite.

>>> turtle.circle(100)

image.png

Il est dessiné avec une ligne rouge maintenant, mais si vous voulez changer la couleur de cette ligne Utilisez pencolor ().

En même temps, modifions un peu l'angle et procédons.

>>> turtle.pencolor('blue')
>>> turtle.right(45)
>>> turtle.forward(100)

image.png

Vous pouvez également revenir en arrière et utiliser backward ().

>>> turtle.backward(200)

image.png

Utilisez home () si vous voulez revenir à la toute première position.

>>> turtle.home()

image.png

Utilisez clear () si vous voulez tout effacer.

>>> turtle.clear()

image.png

Tapez «done ()» à la fin pour quitter.

>>> turtle.done()

Créez un fichier et exécutez-le

Dans ce qui précède, il a été exécuté dans un shell interactif à partir du terminal, mais à partir d'ici Créez un fichier Python avec un nom approprié et exécutez-le à partir du fichier.

Écrivons le processus simple suivant sur le fichier et exécutons-le.

import turtle

turtle.forward(100)

Ensuite, vous pouvez voir qu'il ne s'affiche que pendant un moment, puis disparaît immédiatement. Pour le garder affiché, mettez «done ()» sur la dernière ligne pour indiquer que tout le traitement est terminé. Je vais le décrire.

import turtle

turtle.forward(100)
turtle.done()

image.png

Vous pouvez voir qu'il est affiché fermement.

Carré

Sortons un rectangle en utilisant la boucle for de Python. L'idée est de répéter l'avancée de turtle.forward (100) quatre fois, Une fois l'avancée terminée, un processus de rotation de 90 degrés est ajouté.

import turtle

turtle.color('red', 'yellow')

turtle.begin_fill()
for _ in range(4):
    turtle.forward(100)
    turtle.right(90)
turtle.end_fill()

turtle.done()

Dans le format de fichier, le contenu du processus est turtle.begin_fill () et turtle.end_fill () Je vais le mettre ensemble.

Lorsque vous l'exécutez, vous verrez un carré avec une ligne rouge et un jaune à l'intérieur.

image.png

forme d'étoile

Bien qu'il s'agisse d'un programme en forme d'étoile, il a presque la même composition qu'un programme carré. Les changements sont que le nombre de mouvements vers l'avant est de 5 et l'angle est de «360/5 * 2».

import turtle

turtle.color('red', 'yellow')

turtle.begin_fill()
for _ in range(5):
    turtle.forward(100)
    turtle.right(360 / 5 * 2)
turtle.end_fill()

turtle.done()

image.png

Créons une étoile trois fois et augmentons progressivement la distance pour avancer à chaque fois.

import turtle

turtle.color('red', 'yellow')

turtle.begin_fill()
for i in range(5 * 3):
    turtle.forward(100 + i * 10)
    turtle.right(360 / 5 * 2)
turtle.end_fill()

turtle.done()

Ensuite, une belle figure est créée comme indiqué ci-dessous. Si vous effectuez divers traitements de boucle de cette manière, la forme sera différente et vous pourrez en profiter.

image.png

Triangle

De même, le triangle avance trois fois, et après avoir avancé une fois, l'angle est modifié.

import turtle

turtle.color('red', 'yellow')

turtle.begin_fill()
for i in range(3):
    turtle.forward(100)
    turtle.left(360 / 3)
turtle.end_fill()

turtle.done()

Lorsque vous l'exécutez, vous verrez un triangle.

image.png

Voyons ce qui se passe si vous changez un peu l'angle après avoir avancé une fois comme vous l'avez fait avec la forme d'étoile.

import turtle

turtle.begin_fill()
for i in range(200):
    turtle.forward(200)
    turtle.left(360 / 3 + 10)
turtle.end_fill()

turtle.done()

De cette façon, il devient une belle figure comme dans le cas d'une forme d'étoile.

image.png

fin

C'était un croquis approximatif, mais ce qui précède est l'explication de la façon de le gérer.

En utilisant ces graphiques de tortue, vous pouvez vous programmer Puisqu'il peut être facilement visualisé, je pense que non seulement les enfants mais aussi les adultes peuvent apprécier la programmation d'apprentissage.

Enfin, vous pouvez également créer un arbre comme celui ci-dessous.

import turtle as t
foo = t.Turtle()
foo.left(90)
foo.speed(10)

def draw(l):
    if(l<10):
        return
    else:
        foo.forward(l)
        foo.left(30)
        draw(3*l/4)
        foo.right(60)
        draw(3*l/4)
        foo.left(30)
        foo.backward(l)

draw(100)

image.png

Recommended Posts

Apprenez Python en dessinant (Turtle Graphics)
[Python] Chapitre 03-02 graphiques de tortues (comportement de la tortue)
[Python] Chapitre 03-01 graphiques de tortues (création d'une tortue)
Réintroduction aux décorateurs Python ~ Apprenons les décorateurs par type ~
[Python] Dessiner un motif de tourbillon avec une tortue
[python] Dessin simplifié
Apprenez les gestes python
Jugement des nombres premiers par Python
Mémo de visualisation par Python
Traitement de la communication par Python
Dessin graphique avec python
Réponse de Beamformer par python
Dessiner avec Python Tinker
Apprenez le traitement / collouts asynchrones Python en comparant avec Node.js
Reconnaissance vocale par Python MFCC
Dessin de bougie avec python
Programme de formation des nouveaux arrivants par Python
Paramétrage par le configurateur python
Pin python géré par conda
Paiza Python Primer 1 Apprendre la programmation
Extraction de mots-clés par MeCab (python)
Séparez les nombres par 3 chiffres (python)
Modèle de commutation de Markov par Python
Traitement d'image par python (Pillow)
Python lancé par des programmeurs C
Jugement de la plateforme (OS) par Python
Trier par date en python
Dessin linéaire avec une matrice - Recherche originale par un réinventeur du traitement d'image Python -