网络编程
位置:首页>> 网络编程>> Python编程>> 使用Python画了一棵圣诞树的实例代码

使用Python画了一棵圣诞树的实例代码

作者:曾亲桂林  发布时间:2022-06-18 23:55:04 

标签:Python,圣诞树

分享给大家一篇文章,教你怎样用Python画了一棵圣诞树,快来学习。

使用Python画了一棵圣诞树的实例代码

如何用Python画一个圣诞树呢?

最简单:


height = 5

stars = 1
for i in range(height):
 print((' ' * (height - i)) + ('*' * stars))
 stars += 2
print((' ' * height) + '|')

效果:

使用Python画了一棵圣诞树的实例代码

哈哈哈哈,总有一种骗了大家的感觉。

其实本文是想介绍Turtle库来画圣诞树。


import turtle

screen = turtle.Screen()
screen.setup(375, 700)


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, 13):
 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 += 3

 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(13, 17):
 y = 30 * i
 for j in range(2):
   x = 30 * j
   square.goto(x, -y + 280)
   square.stamp()
   square.goto(-x, -y + 280)
   square.stamp()

效果:

使用Python画了一棵圣诞树的实例代码

方法二:


import turtle


# 定义圣诞树的绿叶函数
def tree(d, s):
 if d <= 0:
   return
 turtle.forward(s)
 tree(d - 1, s * .8)
 turtle.right(120)
 tree(d - 3, s * .5)
 turtle.right(120)
 tree(d - 3, s * .5)
 turtle.right(120)
 turtle.backward(s)


n = 100
""" 设置绘图速度
'fastest' : 0
'fast'  : 10
'normal' : 6
'slow'  : 3
'slowest' : 1
"""
turtle.speed('fastest') # 设置速度

turtle.left(90)
turtle.forward(3 * n)
turtle.color("orange", "yellow")
turtle.left(126)


# turtle.begin_fill()
for i in range(5):
 turtle.forward(n / 5)
 turtle.right(144)
 turtle.forward(n / 5)
 turtle.left(72)
 turtle.end_fill()
turtle.right(126)
turtle.color("dark green")
turtle.backward(n * 4.8)

# 执行函数
tree(15, n)
turtle.backward(n / 5)

效果:

使用Python画了一棵圣诞树的实例代码

来源:https://blog.csdn.net/bigzql/article/details/110124594

0
投稿

猜你喜欢

  • 环境系统:Centos7.2 服务:Nginx1:下载PHP7.0.2的安装包解压,编译,安装: $ cd /usr/s
  •   基于ASP技术开发Internet/Intranet上的MIS系统是非常方便的,首先是它借用了ADO技术和概念,同时
  • 作者:bencalie 整理日期:2004年6月15日<xml id="users"> <u
  • 关于CSS中的命名规则(其实我觉得是XHTML元素的命名规则更加合理些)这个问题,已经有很多人在说了,其中也不乏一些真知灼见。不过这种东西也
  • 八卦为先八卦是种优良品质,特别是用在技术上时。来看几个Reset CSS的八卦问题吧:你知道世界上第一份reset.css在哪么?* { m
  • PHP ini_set用来设置php.ini的值,在函数执行的时候生效,脚本结束后,设置失效。无需打开php.ini文件,就能修改配置,对于
  • 1、字典中的键存在时,可以通过字典名+下标的方式访问字典中改键对应的值,若键不存在则会抛出异常。如果想直接向字典中添加元素可以直接用字典名+
  • InstrRev描述:返回某字符串在另一个字符串中出现的从结尾计起的位置。语法:InstrRev(string1, string2
  • 网上的SQL优化的文章实在是很多,说实在的,我也曾经到处找这样的文章,什么不要使用IN了,什么OR了,什么AND了,很多很多,还有很多人拿出
  • 【译者的话】 作为一家非盈利性的防止青少年 * 的机构, Five Alive 希望拥有一个独特的标志来配合机构的宣传。他们决定在网站上通过竞
  • 作者:peace.zhao 关于 游标 if,for 的例子 create or replace procedure peace_if is
  • 两年前,我们开发了一套基于Flash的文件(主要是图片)上传RIA应用,提供给阿里巴巴的用户使用。如果你使用过Wordpress或flick
  • HTTPX是Python3的功能齐全的HTTP客户端,它提供同步和异步API,并支持HTTP/1.1和HTTP/2安装pip install
  • 这篇文章主要介绍了微信小程序wxml列表渲染原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友
  • 程序设计是困难的,其核心是管理的复杂性。计算机程序是人类做出的最复杂的东西。质量是不可靠的且隐蔽的。好的体系架构是必需给程序足够的结构使其健
  • 这些包可以独立使用,也可以与其他包一起使用以满足复杂的业务需求。Integration Services 可以提取和转换来自多种源(如 XM
  • 对于Linux用户来说,命令行的名声相当的高。不像其他操作系统,命令行是一个可怕的命题,但是对于Linux社区中那些经验丰富的大牛,命令行却
  • ThinkPHP支持多种php模板引擎,可以根据个人需要加以配置。下面我们以Smarty模板引擎为例,给大家说说具体的操作流程!首先去Sma
  • <% Function XMLEncode(byVal sText) sText = Replace(sText, "&am
  • 网站设计时,有一个最常用的指导性原则:页面长度原则上不超过3屏,宽度不超过1屏。这个原则明显是从用户的体验出发,特别是宽度不超过一屏,其最基
手机版 网络编程 asp之家 www.aspxhome.com