Maison  >  Article  >  développement back-end  >  Comment dessiner un sapin de Noël en python ? (explication détaillée du code)

Comment dessiner un sapin de Noël en python ? (explication détaillée du code)

angryTom
angryTomavant
2020-02-13 09:56:54101386parcourir

Comment dessiner un sapin de Noël en python ? Cet article partagera avec vous plusieurs méthodes pour dessiner un arbre de Noël en utilisant Python, et joindra le code de l'arbre de Noël en Python et les rendus d'opération. J'espère que cela sera utile à tout le monde.

Comment dessiner un sapin de Noël en python ? (explication détaillée du code)

Code de l'arbre de Noël python

1. Dessin simple d'un arbre de Noël

Créer un nouvel arbre1. .py ou Entrez directement le code suivant pour exécuter (apprentissage recommandé : Tutoriel vidéo Python)

#声明树的高度
height = 5
#树的雪花数,初始为1
stars = 1
#以数的高度作为循环次数
 
for i in range(height):
    print((' ' * (height - i)) + ('*' * stars))
    stars += 2
#输出树干
print((' ' * height) + '|')

Comment dessiner un sapin de Noël en python ? (explication détaillée du code)

Utilisez une tortue pour dessiner une tortue. simple sapin de Noël

Créez un nouveau tree2py, entrez le code suivant

#导入turtle库
import turtle
#设置屏幕大小
screen = turtle.Screen()
screen.setup(800,600)
#获取画笔并设置一些属性:圆形、红色、快
circle = turtle.Turtle()
circle.shape('circle')
circle.color('red')
circle.speed('fastest')
#抬起画笔
circle.up()
#重新获取画笔
square = turtle.Turtle()
#重新设置画笔属性:四方形、绿色、快
square.shape('square')
square.color('green')
square.speed('fastest')
#重新抬起画笔
square.up()
#跳到指定坐标位置
circle.goto(0,280)
#复制当前图形
circle.stamp()
k = 0
for i in range(1, 17):
    y = 30*i
    for j in range(i-k):
        x = 30*j
        square.goto(x,-y+280)
        square.stamp()
        square.goto(-x,-y+280)
        square.stamp()
    if i % 4 == 0:
        x = 30*(j+1)
        circle.color('red')
        circle.goto(-x,-y+280)
        circle.stamp()
        circle.goto(x,-y+280)
        circle.stamp()
        k += 2
    if i % 4 == 3:
        x = 30*(j+1)
        circle.color('yellow')
        circle.goto(-x,-y+280)
        circle.stamp()
        circle.goto(x,-y+280)
        circle.stamp()
square.color('brown')
for i in range(17,20):
    y = 30*i
    for j in range(3):
        x = 30*j
        square.goto(x,-y+280)
        square.stamp()
        square.goto(-x,-y+280)
        square.stamp()
turtle.exitonclick()

pour exécuter :

Comment dessiner un sapin de Noël en python ? (explication détaillée du code)

Suivez le compte public WeChat : Cours de chinois en ligne php , répondez sd ou Noël pour obtenir plus de codes d'effets spéciaux de Noël !

(Scan sur WeChat)

3. Utilisez Turtle pour dessiner des arbres de Noël complexes

Créez un nouveau tree3.py, entrez le code suivant

#导入所依赖的库
from turtle import *
import random
import time
 
n = 80.0
#设置速度快
speed("fastest")
#背景颜色 海贝壳色,偏粉色
screensize(bg='seashell')
left(90)
forward(3*n)
color("orange", "yellow")
begin_fill()
left(126)
 
for i in range(5):
    forward(n/5)
    right(144)
    forward(n/5)
    left(72)
end_fill()
right(126)
 
color("dark green")
backward(n*4.8)
def tree(d, s):
    if d <= 0: return
    forward(s)
    tree(d-1, s*.8)
    right(120)
    tree(d-3, s*.5)
    right(120)
    tree(d-3, s*.5)
    right(120)
    backward(s)
tree(15, n)
backward(n/2)
 
for i in range(200):
    a = 200 - 400 * random.random()
    b = 10 - 20 * random.random()
    up()
    forward(b)
    left(90)
    forward(a)
    down()
    if random.randint(0, 1) == 0:
            color(&#39;tomato&#39;)
    else:
        color(&#39;wheat&#39;)
    circle(2)
    up()
    backward(a)
    right(90)
    backward(b)
time.sleep(60)

pour exécuter :

Comment dessiner un sapin de Noël en python ? (explication détaillée du code)

Apprentissage recommandé : tutoriel python

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer