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


Posted in Python onNovember 27, 2020

分享给大家一篇文章,教你怎样用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画了一棵圣诞树的实例代码

到此这篇关于使用Python画了一棵圣诞树的实例代码的文章就介绍到这了,更多相关Python圣诞树内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python函数返回多个值的示例方法
Dec 04 Python
Python中动态获取对象的属性和方法的教程
Apr 09 Python
python列表的增删改查实例代码
Jan 30 Python
python jieba分词并统计词频后输出结果到Excel和txt文档方法
Feb 11 Python
python3学习笔记之多进程分布式小例子
Feb 13 Python
解决python3爬虫无法显示中文的问题
Apr 12 Python
对Python中plt的画图函数详解
Nov 07 Python
pandas 把数据写入txt文件每行固定写入一定数量的值方法
Dec 28 Python
python算法与数据结构之冒泡排序实例详解
Jun 22 Python
python 实现两个线程交替执行
May 02 Python
Manjaro、pip、conda更换国内源的方法
Nov 17 Python
python爬虫实现爬取同一个网站的多页数据的实例讲解
Jan 18 Python
python 用opencv实现霍夫线变换
Nov 27 #Python
详解python定时简单爬取网页新闻存入数据库并发送邮件
Nov 27 #Python
五种Python转义表示法
Nov 27 #Python
Django如何继承AbstractUser扩展字段
Nov 27 #Python
如何使用 Flask 做一个评论系统
Nov 27 #Python
python+openCV对视频进行截取的实现
Nov 27 #Python
Python环境配置实现pip加速过程解析
Nov 27 #Python
You might like
PHP CLI模式下的多进程应用分析
2013/06/03 PHP
php 生成自动创建文件夹并上传文件的示例代码
2014/03/07 PHP
php按百分比生成缩略图的代码分享
2014/05/10 PHP
基于OpenCart 开发支付宝,财付通,微信支付参数错误问题
2015/10/01 PHP
php微信公众号开发模式详解
2016/11/28 PHP
PHP/HTML混写的四种方式总结
2017/02/27 PHP
浅析php如何实现爬取数据原理
2018/09/27 PHP
js获取IP地址的方法小结
2014/07/01 Javascript
jQuery动画出现连续触发、滞后反复执行的解决方法
2015/01/28 Javascript
JS控制页面跳转时未请求要跳转的地址怎么回事
2016/10/14 Javascript
angularjs过滤器--filter与ng-repeat配合有奇效
2017/04/20 Javascript
BootStrap表单控件之复选框checkbox和单选择按钮radio
2017/05/23 Javascript
轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)
2017/09/06 Javascript
使用Vue自定义数字键盘组件(体验度极好)
2017/12/19 Javascript
Vue多种方法实现表头和首列固定的示例代码
2018/02/02 Javascript
mpvue写一个CPASS小程序的示例
2018/09/04 Javascript
微信小程序之下拉列表实现方法解析(附完整源码)
2019/08/23 Javascript
原生js无缝轮播插件使用详解
2020/03/09 Javascript
Angular+Ionic使用queryParams实现跳转页传值的方法
2020/09/05 Javascript
[04:19]DOTA2完美大师赛第四天精彩集锦
2017/11/26 DOTA
批处理与python代码混合编程的方法
2016/05/19 Python
python中利用Future对象异步返回结果示例代码
2017/09/07 Python
对python中Matplotlib的坐标轴的坐标区间的设定实例讲解
2018/05/25 Python
Python3.6.2调用ffmpeg的方法
2019/01/10 Python
详解python中的线程与线程池
2019/05/10 Python
django最快程序开发流程详解
2019/07/19 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
2019/08/10 Python
pytorch 获取层权重,对特定层注入hook, 提取中间层输出的方法
2019/08/17 Python
Pytorch中Tensor与各种图像格式的相互转化详解
2019/12/26 Python
实例讲解CSS3中的box-flex弹性盒属性布局
2016/06/09 HTML / CSS
CSS3田字格列表的样式编写方法
2018/11/22 HTML / CSS
allbeauty美国:英国在线美容店
2019/03/11 全球购物
法定代表人授权委托书范文
2014/08/02 职场文书
医疗专业毕业生求职信
2014/08/28 职场文书
idea编译器vue缩进报错问题场景分析
2021/07/04 Vue.js
redis不能访问本机真实ip地址的解决方案
2021/07/07 Redis