python圣诞树编写实例详解

 更新时间:2020年02月13日 10:45:22   作者:angryTom  
在本篇文章里小编给大家整理的是关于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()

运行:

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 实现劳拉游戏的实例代码(四连环、重力四子棋)

    这篇文章主要介绍了Python 实现劳拉游戏的实例代码(四连环、重力四子棋),本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Python去除PDF水印的实现示例

    Python去除PDF水印的实现示例

    本文主要介绍了Python去除PDF水印的实现示例,思路很简单,代码也很简洁。具有一定的参考价值,感兴趣的可以了解一下
    2021-11-11
  • Python中HMAC加密算法的应用

    Python中HMAC加密算法的应用

    HMAC 算法可用于验证在应用程序之间传递或存储在潜在易受攻击位置的信息的完整性,因此本文为大家整理了一些Python中HMAC加密算法的应用,希望对大家有所帮助
    2023-05-05
  • 图文详解Django使用Pycharm连接MySQL数据库

    图文详解Django使用Pycharm连接MySQL数据库

    这篇文章主要介绍了Django使用Pycharm连接MySQL数据库的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python的进程,线程和协程实例详解

    Python的进程,线程和协程实例详解

    这篇文章主要为大家详细介绍了Python进程,线程和协程,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • Python全面解读高级特性切片

    Python全面解读高级特性切片

    这篇文章主要介绍了Python全面解读高级特性切片,切片(slice)就是一种截取索引片段的技术,借助切片技术,我们可以十分灵活地处理序列类型的对象,下面我们一起进入文章了解更详细内容吧
    2021-12-12
  • vscode使用chatGPT 的方法

    vscode使用chatGPT 的方法

    ChatGPT是基于GPT-3模型的对话生成模型,可以根据上下文生成自然语言文本来模拟人类对话,这篇文章主要介绍了vscode使用chatGPT ,需要的朋友可以参考下
    2022-12-12
  • python 阶乘累加和的实例

    python 阶乘累加和的实例

    今天小编就为大家分享一篇python 阶乘累加和的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • Python urllib库如何添加headers过程解析

    Python urllib库如何添加headers过程解析

    这篇文章主要介绍了Python urllib库如何添加headers过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • 详解Python发送邮件实例

    详解Python发送邮件实例

    这篇文章主要介绍了Python发送邮件实例,Python发送邮件需要smtplib和email两个模块,感兴趣的小伙伴们可以参考一下
    2016-01-01

最新评论