Courbe de Dragon à l’aide de Python (2 / 3 étapes)

Étape 2: Le programme

Dans cette étape, je vais vous expliquer chaque partie du programme. Une version entièrement commentée est disponible dans la partie inférieure.

Préparation-

Pour commencer il faut avoir quelques petites choses :

Cette opération importe le module turtle, nous allons utiliser pour afficher les droits et gauches que nous générons. Utilisez-la pour dessiner en donnant des commandes à la « tortue », qui se déplace sur l’écran, tracer une ligne. Ce module est utile pour nos besoins, que vous pouvez facilement dire la tortue de se tourner à droite ou à gauche ou aller de l’avant sans avoir à calculer où placer les lignes.

Ici, nous créons les variables r et l et de les affecter leurs caractères appropriés. Cette étape n’est pas vraiment nécessaire, car vous pourriez juste il écrire dans le programme sous forme de chaîne, mais je crois que les flux de programme plus facilement à l’aide de variables plutôt que des chaînes.

Ceci définit les deux vieux, qui est la dernière itération générée et nouveau, l’itération générée, à un droit. Vieille a la valeur à droite parce que c’est la première itération que tous d'entre eux sont basés hors de. Nouveau est également définie à droite juste au cas où la première itération, il a demandé. Dans ce cas, il ne sera pas générer n’importe quoi et immédiatement imprimer de nouveau.

Ce bloc de code prend dans tous les choix des utilisateurs, l’itération d’être générée (itération), la longueur de chaque segment qui fait vers le haut de la courbe du Dragon (longueur), la couleur pour tracer la courbe en (pencolor) et la couleur d’arrière-plan de la fenêtre graphique de tortue (bgcolor). La longueur du segment peut être utile lors de la génération des itérations plus élevées comme le la courbe peut s’étendre hors de l’écran avec des segments trop longs. Les deux derniers choix, les couleurs, sont amusants à jouer avec pour faire de jolis dessins.

Une certaine itération est générée en mettant en place chaque itération de la première R, vélo à travers quelques étapes pour obtenir celle qui suit chaque fois. Cette variable contient le cycle actuel, donc nous avons tout d’abord attribuez-lui la valeur 1.

Génération-

Maintenant nous pouvons commencer à générer le modèle R et L pour l’itération désirée :

Nous allons continuer à générer l’itération suivante jusqu'à ce que la variable cycle nous dit que nous sommes parvenus à itération a demandé de ne plus être inférieure à elle.

Il s’agit de la première étape de générer la prochaine itération, ajout d’un droit à la fin de cette dernière. Nous allons le sauver de la nouvelle itération.

Cette instruction termine la deuxième étape en utilisant une longue tranche d’inverser l’ordre des caractères dans la corde usagée d’itération. La syntaxe de cette chaîne tranchage méthode est [commencer:: étape de fin]. Laissant éteint le début et la fin et l’étape de réglage-1, rend la chaîne entière passer autour.

Ce bloc de code tous les droits et gauches bascule dans l’ancienne itération inverse. Elle est contenue dans une boucle qui fonctionne pour chacun des caractères de la chaîne, la gamme étant la longueur de la chaîne. Pour chaque caractère, il est appelé à partir de la chaîne et testé. Si c’est un droit, il est remplacé par une gauche en ajoutant la partie de la chaîne avant le caractère, la gauche et le reste de la chaîne après le caractère. Sinon, si c’est une gauche, la même méthode est utilisée pour remplacer le caractère d’un droit.

Cela prend de nouveau, qui est l’ancienne originale, plus un droit et ajoute l’ancien inversé et sont passés sur la fin. Le résultat est enregistré à nouveau. L’itération suivante a été générée !

En enregistrant la nouvelle itération de vieux, nous pouvons l’utiliser le prochain cycle pour trouver la prochaine itération.

Ce cycle est fait et donc on avance la variable de programme. La boucle while continue à générer l’itération suivante, jusqu'à ce qu’il est convaincu par la cycle variable atteignant l’itération demandée.

Affichage-

Surtout avec les itérations plus élevées, la chaîne des droits et gauches si longtemps c’est impraticable et salissant à l’imprimer. Copiez le code suivant donne à l’utilisateur un choix. Il faut un oui ou aucun réponse à si l’utilisateur veut qu'il imprimé et, si la réponse est oui, n’imprime de nouveau, qui détient la dernière itération.

Ici nous avons mis en place la fenêtre graphique de tortue. Nous avons commencé en cachant l’icône tortue et éteindre l’animation n’est plus rapide. En outre, nous appliquons l’utilisateur demandé des couleurs pour le dessin et le fond.

Ici, nous disons la tortue à aller de l’avant la longueur du segment, rendant la première ligne de tous les droits et gauches sont hors de.

Cette boucle est similaire à celle qui a passé tous les droits et gauches précédemment dans le programme. Il vérifie chaque caractère dans la séquence de droite-gauche et faire la tortue, tourner à droite si c’est un droit et un gauche si c’est une gauche. Après chaque tour, il va également vers l’avant la longueur du segment désiré pour terminer l’angle. De cette façon, il sera graphique de l’ensemble de la séquence.

Articles Liés

Comment enregistrer des fichiers à l’aide de Python

Comment enregistrer des fichiers à l’aide de Python

Dans cette insondable je montre comment enregistrer des fichiers à l'aide de Python. Si vous avez un compte Dropbox, vous pouvez télécharger sur elle en utilisant ce programme sain d'esprit et en enregistrant simplement sur ce dossier. Pour enregistr
Expériences dans Advanced Data Logging (à l’aide de Python)

Expériences dans Advanced Data Logging (à l’aide de Python)

Il y a beaucoup d'enregistrement instructables, donc quand j'ai voulu construire un projet d'exploitation forestière du mien j'ai regardé autour un tas de données. Certains étaient bons, certains pas beaucoup, alors j'ai décidé de prendre certaines d
Traçage des données en temps réel de Arduino à l’aide de Python (matplotlib)

Traçage des données en temps réel de Arduino à l’aide de Python (matplotlib)

Arduino est fantastique comme un intermédiaire entre votre ordinateur et d'un circuit électronique brut. À l'aide de l'interface série, vous pouvez récupérer des informations provenant de capteurs attachés à votre Arduino. (Vous pouvez également envo
Brassage amateur des calculs à l’aide de Python !

Brassage amateur des calculs à l’aide de Python !

Je suis un brasseur maison avide et passionné de programmation Python, donc j'ai créé un simple script Python pour m'aider à faire mon infusion calculs de jour. Le script va calculer plusieurs variables utiles telles que la température de l'eau de gr
Time Lapse Batch Image Manipulation à l’aide de Python

Time Lapse Batch Image Manipulation à l’aide de Python

j'ai trouvé récemment un cool Time Lapse app pour mon téléphone, mais les fichiers nécessaires pour être tourné et a touché un peu à les transformer en un film. J'ai écrit un script Python pour ce faire et qui partage avec vous ici.Étape 1: Collecte
Configurer, lire les données & calibrer la boussole numérique à l’aide de Python en HMC5883L

Configurer, lire les données & calibrer la boussole numérique à l’aide de Python en HMC5883L

Comme dans d'autres blogs, celui-ci contient également des informations qui se trouvent ailleurs sur le web. J'ai juste structuré pour le rendre facile à utiliser pour les débutants amateurs de robot.Le raccordement de la boussole est assez simple. L
Simple que l’envoi de valeurs capteur Ito par SigFox et Intel Edison, à l’aide de Python

Simple que l’envoi de valeurs capteur Ito par SigFox et Intel Edison, à l’aide de Python

J'ai eu la chance, à un Intel IoT Hackaton qui aura lieu à Usine.io à Paris, à côté d'une carte Intel Edison Arduino et un tas de Grove capteurs/actionneurs, au aussi obtenir la nouvelle carte d'asmae de Snootlab.Merci les gars d'Intel Ito, Nicolas d
Détection à l’aide de Python et la bibliothèque OpenCV de visage

Détection à l’aide de Python et la bibliothèque OpenCV de visage

Ce projet utilisera la bibliothèque OpenCV et python pour faciliter la détection des visagesÉtape 1: Ce que vous devez1. un Conseil de développement Intel Edison2. une webcam, nous allons utiliser la lumière vague LW-IC5003. Python et la bibliothèque
Contrôle SparkCore à l’aide de Python

Contrôle SparkCore à l’aide de Python

Le Milwaukee Makerspace a été sélectionné pour la nuit avec Spark.io de génération de novembre 2014. J'ai décidé que c'était l'outil idéal pour terminer contrôleur d'éclairage pour le makerspace. Actuellement, les zones d'atelier sont divisées en 7 z
Traçage et graphiques des données actives de Arduino à l’aide de la puissance de Python

Traçage et graphiques des données actives de Arduino à l’aide de la puissance de Python

Je vais vous montrer comment prendre vos projets Arduino au niveau suivant en ayant l'Arduino à interagir avec le langage de programmation Python. Python est un logiciel gratuit, que vous pouvez télécharger. Puisque vous avez déjà appris les rudiment
À l’aide de XML sur le Raspberry Pi avec Python

À l’aide de XML sur le Raspberry Pi avec Python

Ce Instructable examinera l'utilisation de XML sur les demandes de la Raspberry Pi. La première étape couvre ce qui est le format des structures de données et XML. Deuxième étape couvrira la construction et de l'analyse XML en Python et troisième éta
Luminosité simple indicateur et alerte à l’aide de LDR, Arduino, Python.

Luminosité simple indicateur et alerte à l’aide de LDR, Arduino, Python.

Projet utilise LDR (légère résistance dépendante) pour modifier la résistance dans le circuit qui peut être utilisé pour contrôler le comportement des différents composants.Dans ce projet, j'utilise des LED et haut-parleur que les composants de sorti
Python coding for Minecraft

Python coding for Minecraft

Ce Instructable montre comment installer et utiliser un mod que j'ai écrit qui vous permet de contrôler le Minecraft avec des scripts python. Je me concentrerai sur Windows, même si OS X et Linux devrait fonctionner tout aussi bien.Scripts Python peu
Comment construire votre Dragon

Comment construire votre Dragon

Que vous soyez un fan de Anne McCaffrey ou George R. R. Martin, vous avez besoin d'un petit dragon sur votre épaule. Celui-ci est fait assez simplement en utilisant une armature de fil, feuille, bande et quelques autres bricoles. Il s'agissait de ma