python圣诞树编写实例详解

家电维修 2023-07-16 19:17www.caominkang.com家电维修技术

python圣诞树代码

1、简单的绘制圣诞树

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

#声明树的高度

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 = 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('yello')

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

  circle.stamp()

  circle.goto(x,-y+280)

  circle.stamp()

square.color('bron')

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

运行

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

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

#导入所依赖的库

from turtle import 

import random

import time

 

n = 80.0

#设置速度快

speed("fastest")

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

screensize(bg='seashell')

left(90)

forard(3n)

color("orange", "yello")

begin_fill()

left(126)

 

for i in range(5):

 forard(n/5)

 right(144)

 forard(n/5)

 left(72)

end_fill()

right(126)

 

color("dark green")

backard(n4.8)

def tree(d, s):

 if d <= 0: return

 forard(s)

 tree(d-1, s.8)

 right(120)

 tree(d-3, s.5)

 right(120)

 tree(d-3, s.5)

 right(120)

 backard(s)

tree(15, n)

backard(n/2)

 

for i in range(200):

 a = 200 - 400  random.random()

 b = 10 - 20  random.random()

 up()

 forard(b)

 left(90)

 forard(a)

 don()

 if random.randint(0, 1) == 0:

   color('tomato')

 else:

  color('heat')

 circle(2)

 up()

 backard(a)

 right(90)

 backard(b)

time.sleep(60)

运行

Copyright © 2016-2025 www.jianfeikang.com 建飞家电维修 版权所有 Power by