Home > Backend Development > Python Tutorial > How to draw a Christmas tree using python? (detailed code explanation)

How to draw a Christmas tree using python? (detailed code explanation)

angryTom
Release: 2022-04-08 15:25:13
forward
101457 people have browsed it

How to draw a Christmas tree using python? This article will share with you several methods of drawing a Christmas tree using python, and attach the python Christmas tree code and operation renderings. I hope it will be helpful to everyone.

How to draw a Christmas tree using python? (detailed code explanation)

python Christmas tree code

1. Simple drawing of Christmas tree

Create new tree1.py or Directly enter the following code to run (recommended learning: Python video tutorial)

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

How to draw a Christmas tree using python? (detailed code explanation)

##2. Use turtle to draw a simple Christmas tree

Create a new tree2py, enter the following code

#导入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()
Copy after login

Run:

How to draw a Christmas tree using python? (detailed code explanation)

Follow the WeChat public account:

php Chinese Online course , reply sd or Christmas to get more Christmas special effect codes!

(Scan on WeChat)


3. Use Turtle to draw complex Christmas trees

Create a new tree3.py, enter the following code

#导入所依赖的库
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)
Copy after login
Run:

How to draw a Christmas tree using python? (detailed code explanation)##Recommended learning:

python tutorial

The above is the detailed content of How to draw a Christmas tree using python? (detailed code explanation). For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:csdn.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template