Heim > Backend-Entwicklung > Python-Tutorial > Wie zeichne ich einen Weihnachtsbaum mit Python? (Detaillierte Code-Erklärung)

Wie zeichne ich einen Weihnachtsbaum mit Python? (Detaillierte Code-Erklärung)

angryTom
Freigeben: 2022-04-08 15:25:13
nach vorne
101474 Leute haben es durchsucht

Wie zeichne ich einen Weihnachtsbaum mit Python? In diesem Artikel werden verschiedene Methoden zum Zeichnen eines Weihnachtsbaums mit Python vorgestellt und der Python-Weihnachtsbaumcode und die Operationsdarstellungen angehängt. Ich hoffe, dass dies für alle hilfreich ist.

Wie zeichne ich einen Weihnachtsbaum mit Python? (Detaillierte Code-Erklärung)

Python-Weihnachtsbaumcode

1. Einfaches Zeichnen eines Weihnachtsbaums

Neuen Baum erstellen1 .py oder Geben Sie direkt den folgenden Code ein, um ihn auszuführen (empfohlenes Lernen: Python-Video-Tutorial)

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

Wie zeichne ich einen Weihnachtsbaum mit Python? (Detaillierte Code-Erklärung)

2 Verwenden Sie Turtle, um a zu zeichnen einfacher Weihnachtsbaum

Erstellen Sie einen neuen Tree2py, geben Sie den folgenden Code ein

#导入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()
Nach dem Login kopieren

zum Ausführen:

Wie zeichne ich einen Weihnachtsbaum mit Python? (Detaillierte Code-Erklärung)

Folgen Sie dem öffentlichen WeChat-Konto: php Chinesisch Online-Kurs , antworten Sie sd oder Christmas, um weitere Weihnachts-Spezialeffektcodes zu erhalten!

(Scannen auf WeChat)

3. Verwenden Sie Turtle, um komplexe Weihnachtsbäume zu zeichnen

Erstellen Sie ein neues tree3.py und geben Sie den folgenden Code ein

#导入所依赖的库
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)
Nach dem Login kopieren

zum Ausführen:

Wie zeichne ich einen Weihnachtsbaum mit Python? (Detaillierte Code-Erklärung)

Empfohlenes Lernen: Python-Tutorial

Das obige ist der detaillierte Inhalt vonWie zeichne ich einen Weihnachtsbaum mit Python? (Detaillierte Code-Erklärung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage