今天是三月七号,也就是女生节,或者女神节。不知道你是不是有自己喜欢的女孩子,在这里你可以用turtle库绘制一朵玫瑰花,送给你喜欢的姑娘。(拉到最后有惊喜哦)但在画这朵玫瑰花之前,先来一个基础的图形,也可以说是学习turtle库的入门绘画图形——蟒蛇图形。

  一、python蟒蛇绘制

代码:

 import turtle
turtle.setup(650, 350, 200, 200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
turtle.circle(40, 80)
turtle.circle(-40, 80)
turtle.circle(40, 80/2)
turtle.fd(40)
turtle.circle(16, 180)
turtle.fd(40 * 2/3)
turtle.done()

展示图:

  二、turtle库的相关知识

1.turtle库又叫海龟库。

意思是画图就像海龟在画布上行走一样,海龟走过的轨迹形成了一幅图画。turtle库是python的标准库之一,是一个图形绘制函数库。

2.保留字import

库引用函数。import引用库有两种方式:

第一种:import <库名> 使用库中函数的格式:<库名>.<函数名>(<函数参数>)

第二种:from <库名> import <函数名>   或from <库名> import *#其中,*是通配符,表示所有函数。使用格式:<函数名>.(<函数参数>)

另一种用法:

import <库名> as <库别名> 

<库别名>.<函数名>(<函数参数>)

3.turtle库函数介绍

(1)turtle.setup(width, height, startx, starty)

作用:设置主窗体的大小和位置

参数:width:窗口宽度。height: 窗口高度。startx: 窗口左侧与屏幕左侧的像素距离。如果值是None,窗口位于屏幕水平中央。starty: 窗口顶部与屏幕顶部的像素距离。如果值是None,窗口位于屏幕垂直中央。

(2)turtle.penup()和turtle.pendown()

作用:抬起画笔,之后画笔移动不绘制图形。和,落下画笔。开始绘制图形。

(3)turtle.pensize(width)   别名:turtle.width()

作用:设置画笔宽带。如果为None或空,返回当前画笔宽度。

(4)turtle.penclor(colorstring)  别名:turtle.pencolor((r,  g, b))

作用:设置画笔颜色,为空则返回当前画笔颜色。

参数:colorstring:表示颜色的字符串,例如,"purple", "red", "blue"等。(r, g, b):颜色对应的RGB数值,例如,(51, 204, 140)。下面是部分典型RGB颜色对照表。

(5)turtle.fd(distance)  别名:turtle.forward(distance)

作用:向箭头的方向前进

参数:distance:行进的距离,当值为负数时,表示向相反方向前进。

(6)turtle.seth(to_angle)  别名:turtle.setheading(to_angle)

作用:设置前进的角度,该角度时绝方向的角度值。

参数:to_angle:角度的整数值。

(7)turtle.circle(radius, extent=None)

作用:根据半径radius绘制角度extent的弧形

参数:radius:弧形半径,当值为正数时,半径在前进方向的左侧,反之,在右侧。extent:绘制弧形的角度,参数为None,则绘制整个圆形。

4.循环语句 for,in 和 range() 函数

(1)for <变量> in range(<次数>):

  <被循环执行的语句>

 for i in range(5):
print(i)

(2)range函数:产生循环计数序列。

range(N):产生0到N-1的整数序列,共N个。range(5)#0 1 2 3 4

range(M, N):产生M到N-1的整数序列,共N-M个。range(2, 5)#2 3 4

  三、玫瑰花的绘制

代码:

 import turtle
# 设置初始位置
turtle.goto(0, 0)
turtle.color("black")
turtle.penup()
turtle.left(90)
turtle.fd(200)
turtle.pendown()
turtle.right(90)
# 花蕊
turtle.fillcolor("red")
turtle.begin_fill()
turtle.circle(10, 180)
turtle.circle(25, 110)
turtle.left(50)
turtle.circle(60, 45)
turtle.circle(20, 170)
turtle.right(24)
turtle.fd(30)
turtle.left(10)
turtle.circle(30, 110)
turtle.fd(20)
turtle.left(40)
turtle.circle(90, 70)
turtle.circle(30, 150)
turtle.right(30)
turtle.fd(15)
turtle.circle(80, 90)
turtle.left(15)
turtle.fd(45)
turtle.right(165)
turtle.fd(20)
turtle.left(155)
turtle.circle(150, 80)
turtle.left(50)
turtle.circle(150, 90)
turtle.end_fill()
# 花瓣1
turtle.left(150)
turtle.circle(-90, 70)
turtle.left(20)
turtle.circle(75, 105)
turtle.setheading(60)
turtle.circle(80, 98)
turtle.circle(-90, 40)
# 花瓣2
turtle.left(180)
turtle.circle(90, 40)
turtle.circle(-80, 98)
turtle.setheading(-83)
# 叶子1
turtle.fd(30)
turtle.left(90)
turtle.fd(25)
turtle.left(45)
turtle.fillcolor("green")
turtle.begin_fill()
turtle.circle(-80, 90)
turtle.right(90)
turtle.circle(-80, 90)
turtle.end_fill()
turtle.right(135)
turtle.fd(60)
turtle.left(180)
turtle.fd(85)
turtle.left(90)
turtle.fd(80)
# 叶子2
turtle.right(90)
turtle.right(45)
turtle.fillcolor("green")
turtle.begin_fill()
turtle.circle(80, 90)
turtle.left(90)
turtle.circle(80, 90)
turtle.end_fill()
turtle.left(135)
turtle.fd(60)
turtle.left(180)
turtle.fd(60)
turtle.right(90)
turtle.circle(200, 60)
turtle.penup()

展示图:

python学习(二)之turtle库绘图的更多相关文章

  1. 小白学Python(20)—— Turtle 海龟绘图

    Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行 ...

  2. Python学习二:词典基础详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...

  3. python学习2:turtle的使用蟒蛇绘制的学习以及自己摸索的等边三角形绘制(跟随mooc学习)

    首先先放上蟒蛇的绘制程序 import turtle#引入外部库#def保留字用于 定义函数 def drawSnake(rad,angle,len,neckrad): for i in range( ...

  4. Python语言程序设计之二--用turtle库画围棋棋盘和正、余弦函数图形

    这篇笔记依然是在做<Python语言程序设计>第5章循环的习题.其中有两类问题需要记录下来. 第一是如何画围棋棋盘.围棋棋盘共有19纵19横.其中,位于(0,0)的星位叫天元,其余8个星位 ...

  5. Python(二)Marshmallow 库相关学习

    0. 前言 Marshmallow 是一个用于将 ORM 对象与 Python 原生数据类型之间转换的库.实现 object → dict.object → list.string → dict 和 ...

  6. python学习笔记(3)--turtle简单绘制

    参考:大学生mooc 北京理工大学的python程序与设计课程 蟒蛇绘制代码如下: #pythonDraw.py import turtle turtle.setup(650,350,200,200) ...

  7. 【Python学习笔记】Pandas库之DataFrame

    1 简介 DataFrame是Python中Pandas库中的一种数据结构,它类似excel,是一种二维表. 或许说它可能有点像matlab的矩阵,但是matlab的矩阵只能放数值型值(当然matla ...

  8. Python 学习笔记之—— PIL 库

    PIL,全称 Python Imaging Library,是 Python 平台一个功能非常强大而且简单易用的图像处理库.但是,由于 PIL 仅支持到Python 2.7,加上年久失修,于是一群志愿 ...

  9. Python学习二---字符串

    一.字符串 1.1.字符串和转义字符 转义字符需要使用\来表示 1.2.字符串连接 print 字符串1 字符串2,打印出来的字符串直接连接在一起没有空格 print 字符串1,字符串2,打印出来的字 ...

随机推荐

  1. 信息熵、信息增益、信息增益率、gini、woe、iv、VIF

    整理一下这几个量的计算公式,便于记忆 采用信息增益率可以解决ID3算法中存在的问题,因此将采用信息增益率作为判定划分属性好坏的方法称为C4.5.需要注意的是,增益率准则对属性取值较少的时候会有偏好,为 ...

  2. MySQL5.7安装教程(RPM)

    博主本人平和谦逊,热爱学习,读者阅读过程中发现错误的地方,请帮忙指出,感激不尽 前言: 对应服务器信息: 192.168.247.53 一.MySQL安装(RPM) 1.系统环境设置: 1.1清空系统 ...

  3. postman接口测试使用

    在做测试之前,先要了解一下http相关的一些知识,这样做起来才会更加顺手. http的请求分为header 和 body,一般在header里面放一些其他的信息,比如cookie,浏览器信息 body ...

  4. svn使用3 (转)

    接下来,试试用TortoiseSVN修改文件,添加文件,删除文件,以及如何解决冲突等. 添加文件 在检出的工作副本中添加一个Readme.txt文本文件,这时候这个文本文件会显示为没有版本控制的状态, ...

  5. 网页中常见返回HTTP状态码含义

    在日常网页浏览的过程中大家经常会碰到400,403,404,500,502等HTTP状态码,这些状态码对于一般用户来说出现什么都是一样的,反正就是页面打不开了,但是作为网站开发人员或者从事相关工作者认 ...

  6. STL中map的使用

    知识点 C++中map提供的是一种键值对容器,里面的数据都是成对出现的.map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的. ...

  7. 林轩田机器学习基石笔记2—Learning to Answer Yes/No

    机器学习的整个过程:根据模型H,使用演算法A,在训练样本D上进行训练,得到最好的h,其对应的g就是我们最后需要的机器学习的模型函数,一般g接近于目标函数f.本节课将继续深入探讨机器学习问题,介绍感知机 ...

  8. 公式化学习requests(第二卷)

    请求浏览器分为两种一种是不需要用户登录验证直接请求 另一种是需要用户登陆验证请求,现在说一下利用COOKIE实现,COOKIE在前端开发时有很多的作用,要熟练使用, 直接上代码了: 第一步:访问页面, ...

  9. 【一定要记得填坑】LG_3822_[NOI2017]整数

    挺好的一道题,由于快noip了,所以打算noip之后再添题解的坑.

  10. Android开发之《硬件加速》

    Intel® SDK for OpenCL™ Applications Support:https://software.intel.com/en-us/intel-opencl-support/co ...