您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页python圣诞树代码

python圣诞树代码

来源:华佗小知识


python圣诞树代码

1、简单的绘制圣诞树

新建tree1.py或者直接输入下面代码运行

(推荐学习:Python教程)

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

2、使用turtle绘制简单圣诞树

新建tree2py,输入以下代码

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

运行:

3、使用Turtle绘制复杂圣诞树

新建tree3.py,输入以下代码

#导入所依赖的库
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('tomato')
 else:
 color('wheat')
 circle(2)
 up()
 backward(a)
 right(90)
 backward(b)
time.sleep(60)

运行:

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务