使用turtle绘制五角星、分形树


Posted in Python onOctober 06, 2019

本文实例为大家分享了使用turtle绘制五角星和分形树的具体代码,供大家参考,具体内容如下

turtle 库

与之前程序的区别:

  • 没有显示的input()与output()
  • 没有赋值语句
  • 大部分语句为<a>.<b>()的形式

表示使用<a>中的方法<b>()
调用函数库<a>中的函数<b>()

形状绘制函数:

turtle.forward(distance)
画笔向前移动distance距离

turtle.backward(distance)
画笔向后移动distance距离

turtle.right(dgree)
绘制方向向右旋转dgree度

turtle.exitonclick()
点击关闭图形窗口

使用turtle绘制五角星、分形树

画笔控制函数:

turtle.penup()抬起画笔,之后移动画笔不绘制

turtle.pendown()落下画笔,之后移动画笔绘制形状

turtle.pensize()设置画笔宽度

turtle.pencolor()设置画笔颜色,常用的颜色:
white,black,grey,darkgreen,vilot,purple

详细API请参考

功能一:

五角星的绘制

"""
 作者:陈洁
 功能:五角星的绘制
 版本:1.0
 日期:04/10/2019
"""
import turtle

def main():
 """
 主函数
 """
 #计数器
 count = 1
 while count<=5:
 turtle.forward(100)
 turtle.right(144)
 count += 1
 turtle.exitonclick()

if __name__ == '__main__':
 main()

遇到困难:

混淆if条件函数与while循环函数

功能二:

加入循环操作绘制重复不同大小的五角星

"""
 作者:陈洁
 功能:五角星的绘制
 版本:2.0
 日期:04/10/2019
 新增功能:加入循环操作绘制重复不同大小的五角星
"""
import turtle


def draw_pentagram(size):
 """
 绘制五角星
 """
 # 计数器
 count = 1
 # 绘制五角星
 while count <= 5:
 turtle.forward(size)
 turtle.right(144)
 count += 1

def main():
 """
 主函数
 """

 turtle.penup()
 turtle.backward(200)
 turtle.pendown()
 turtle.pensize(2)
 turtle.pencolor('red')

 size = 50

 while size<=100:
 #调用函数
 draw_pentagram(size)
 size += 10

 turtle.exitonclick()


if __name__ == '__main__':
 main()

功能三:

使用迭代函数绘制重复不同大小的五角星

注意:设置条件语句if size <= 100: draw_recursive_pentagram(size)

"""
 作者:陈洁
 功能:五角星的绘制
 版本:3.0
 日期:04/10/2019
 新增功能:使用迭代函数绘制重复不同大小的五角星
"""
import turtle
def draw_pentagram(size):
 """
 绘制五角星
 """
def draw_recursive_pentagram(size):
 """
 迭代绘制五角星
 """
 # 计数器
 count = 1
 # 绘制五角星
 while count <= 5:
 turtle.forward(size)
 turtle.right(144)
 count += 1
 #五角星绘制完成,更新参数
 size += 10
 if size <= 100:
 draw_recursive_pentagram(size)
def main():
 """
 主函数
 """
 turtle.penup()
 turtle.backward(200)
 turtle.pendown()
 turtle.pensize(2)
 turtle.pencolor('red')
 size = 50
 draw_recursive_pentagram(size)
if __name__ == '__main__':
 main()

功能四:用迭代函数绘制分形树

"""
 作者:陈洁
 功能:分形树
 版本:1.0
 日期:04/10/2019
 新增功能:使用迭代函数绘制分形树
"""
import turtle
def draw_branch (branch_length):
 """
 绘制分形树
 """
 if branch_length >5:
 #绘制右侧树枝
 turtle.forward(branch_length)
 print('向前绘制',branch_length)
 turtle.right(20)
 print('右转',20)
 draw_branch(branch_length - 15)

 #绘制左侧树枝
 turtle.left(40)
 print('左转',40)
 draw_branch(branch_length - 15)

 #返回之前的树枝
 turtle.right(20)
 print('右转',20)
 turtle.backward(branch_length)
def main():
 """
 主函数
 """
 turtle.left(90)
 turtle.penup()
 turtle.backward(150)
 turtle.pendown()
 draw_branch(100)
 turtle.exitonclick()
if __name__ == '__main__':
 main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
利用python实现数据分析
Jan 11 Python
基于ID3决策树算法的实现(Python版)
May 31 Python
python实现手机通讯录搜索功能
Feb 22 Python
python flask中静态文件的管理方法
Mar 20 Python
教你使用python实现微信每天给女朋友说晚安
Mar 23 Python
对Python生成器、装饰器、递归的使用详解
Jul 19 Python
Python如何使用函数做字典的值
Nov 30 Python
Python 解决OPEN读文件报错 ,路径以及r的问题
Dec 19 Python
python分布式计算dispy的使用详解
Dec 22 Python
Tensorflow的常用矩阵生成方式
Jan 04 Python
python tkinter之 复选、文本、下拉的实现
Mar 04 Python
Python进程的通信Queue、Pipe实例分析
Mar 30 Python
wxPython:python首选的GUI库实例分享
Oct 05 #Python
python使用pip安装模块出现ReadTimeoutError: HTTPSConnectionPool的解决方法
Oct 04 #Python
python是否适合网页编程详解
Oct 04 #Python
为什么说Python可以实现所有的算法
Oct 04 #Python
python的命名规则知识点总结
Oct 04 #Python
Python中断多重循环的思路总结
Oct 04 #Python
python将字母转化为数字实例方法
Oct 04 #Python
You might like
PHP 加密与解密的斗争
2009/04/17 PHP
PHP 动态随机生成验证码类代码
2010/04/09 PHP
ThinkPHP3.1基础知识快速入门
2014/06/19 PHP
手把手编写PHP框架 深入了解MVC运行流程
2016/09/19 PHP
PHP编程 SSO详细介绍及简单实例
2017/01/13 PHP
Yii2设置默认控制器的两种方法
2017/05/19 PHP
Laravel5.5 动态切换多语言的操作方式
2019/10/25 PHP
javascript qq右下角滑出窗口 sheyMsg
2010/03/21 Javascript
JavaScript获取指定元素位置的方法
2015/04/08 Javascript
整理Javascript数组学习笔记
2015/11/29 Javascript
直接拿来用的页面跳转进度条JS实现
2016/01/06 Javascript
node.js cookie-parser 中间件介绍
2016/06/06 Javascript
微信小程序 获取相册照片实例详解
2016/11/16 Javascript
微信小程序组件 contact-button(客服会话按钮)详解及实例代码
2017/01/10 Javascript
一个基于react的图片裁剪组件示例
2018/04/18 Javascript
vue组件中iview的modal组件爬坑问题之modal的显示与否应该是使用v-show
2019/04/12 Javascript
在Layui中操作数据表格,给指定单元格添加事件示例
2019/10/26 Javascript
[00:36]DOTA2风云人物相约完美“圣”典 12月17日不见不散
2016/11/30 DOTA
深入解析Python中函数的参数与作用域
2016/03/20 Python
利用python获取Ping结果示例代码
2017/07/06 Python
Python读取图片为16进制表示简单代码
2018/01/19 Python
Python连接Mssql基础教程之Python库pymssql
2018/09/16 Python
Pytorch 抽取vgg各层并进行定制化处理的方法
2019/08/20 Python
Python对Excel按列值筛选并拆分表格到多个文件的代码
2019/11/05 Python
python设置代理和添加镜像源的方法
2020/02/14 Python
虚拟机下载python是否需要联网
2020/07/27 Python
美国家居装饰网上商店:Lulu & Georgia
2019/09/14 全球购物
工程师求职简历的自我评价分享
2013/10/10 职场文书
如何写你的创业计划书
2014/01/07 职场文书
销售冠军获奖感言
2014/02/03 职场文书
廉洁家庭事迹材料
2014/05/15 职场文书
2014年祖国生日寄语
2014/09/19 职场文书
廉政承诺书
2015/01/19 职场文书
2015年检验科工作总结
2015/04/27 职场文书
工作失职自我检讨书
2015/05/05 职场文书
职场新人知识:如何制定一份合理的工作计划?
2019/09/11 职场文书