当前位置:主页 > 生活知识 >

python圣诞树代码(圣诞树代码)

  • 生活知识
  • 2023-09-10 15:07
  • 来源:www.renliuw.cn
  • 生活知识

python圣诞树代码


1、简单的绘制圣诞树


新建tree1.py或者直接输入下面代码运行#声明树的高度


height = 5


#树的雪花数,初始为1


stars = 1


#以数的高度作为循环次数


for i in range(height):


print((' ' (height - i)) + ('' stars))


stars += 2


#输出树干


print((' ' height) + '|')


1581558705868932.png


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 = 30i


for j in range(i-k):


x = 30j


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 = 30i


for j in range(3):


x = 30j


square.goto(x,-y+280)


square.stamp()


square.goto(-x,-y+280)


square.stamp()


turtle.exitonclick()


运行


1581558728714813.png


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


新建tree3.py,输入以下代码#导入所依赖的库


from turtle import


import random


import time


n = 80.0


#设置速度快


speed("fastest")


#背景颜色 海贝壳色,偏粉色


screensize(bg='seashell')


left(90)


forward(3n)


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(n4.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)


运行

无痛人流