python圣诞树编写实例详解

Posted 不想秃头的晨晨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python圣诞树编写实例详解相关的知识,希望对你有一定的参考价值。


在本篇文章里小编给大家整理的是关于python圣诞树代码的相关内容,有兴趣的朋友们可以学习下。

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

运行:
留言学习资料:领取教程学习
留言书籍: 领取python电子书籍

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)

运行:

最后,感谢您的阅读。您的每个点赞、留言、分享都是对我们最大的鼓励,笔芯~

以上是关于python圣诞树编写实例详解的主要内容,如果未能解决你的问题,请参考以下文章

python圣诞树编写实例详解

python如何画3d圣诞树

用python画圣诞树樱花树卡通图案及打包成exe文件

python实现圣诞树

如何用python画圣诞树(附圣诞树代码)

python小游戏之圣诞树