目录

1.turtle库

2.各个函数的使用

3.分析佩奇

1.turtle库

turtle(海龟)库是turtle绘图体系的Python实现

Python语言标准库之一

入门级图形绘制函数库

2.各个函数的使用

代码:

# -*- coding: utf-8 -*-

"""

Spyder Editor

This is a temporary script file.

"""

import turtle

'''

画布(canvas)

参数:

width宽度

height高度

bg背景

'''

#设置画布大小

turtle.screensize(800,800,"yellow")

#返回画布的大小

print(turtle.screensize())

'''

窗口大小

参数:

width窗口宽度

height窗口高度

startx窗口与屏幕横向的距离

starty窗口与屏幕纵向的距离

'''

#设置窗口大小(画布和窗口是不一样的,可以查看windows自带的画图)

turtle.setup(300,300,50,50)

#如果传入的值是小数,表示占据屏幕的比例

turtle.setup(0.5,0.5,50,50)

'''

画笔(pen),默认处于画布横轴与纵轴的中心点,即原点.

画笔属性:

'''

#笔的粗细

turtle.pensize(1)

#笔的颜色(值可以是字符串'green/red/yellow'等,也可以是RGB3元组)

turtle.pencolor("red")

#笔的移动速度,取值范围[0-10]

turtle.speed(10)

'''

绘图命令(即操控海龟命令),分3种:

1.移动命令

2.画笔控制命令

3.全局控制命令

tips:可以想象成一只海龟拿着画笔在图上画,我们操控这只海龟的移动、提笔放笔即可

'''

#海龟向当前方向移动,单位是像素

turtle.forward(100)

#海龟向当前的反方向移动

turtle.backward(200)

#海龟左旋转,单位是角度

turtle.left(30)

#海龟右旋转

turtle.right(60)

#海龟放下笔,只要移动就能绘画

turtle.pendown()

#海龟提笔,移动不会绘画

turtle.penup()

#移动画笔到坐标为x,y的位置

turtle.goto(100,50)

#单独设置x,y的位置

turtle.setx(200)

turtle.setx(300)

#画圆,参数是半径,正数逆时针画,负数正时针画

turtle.circle(10)

turtle.circle(-10)

'''

circle参数:

radius半径

extent弧度

steps内切正多边形

'''

#海龟放下笔,只要移动就能绘画

turtle.pendown()

#三角形

turtle.circle(50,steps=3)

#八角形

turtle.circle(50,steps=8)

#半圆

turtle.circle(120,180)

#设置当前朝向的角度

turtle.setheading(60)

#重置归位画笔

turtle.home()

#绘制一个指定直径和颜色的圆点

turtle.dot(200,'blue')

'''

画笔控制命令

'''

#隐藏海龟

turtle.hideturtle()

#准备开始填充图形

turtle.begin_fill()

#绘制图形的填充颜色

turtle.circle(50) #画个圆进行填充

turtle.fillcolor('red')

#填充完成

turtle.end_fill()

#显示海龟

turtle.showturtle()

'''

全局控制命令

'''

#清空画布,但是turtle的位置和状态不会改变

turtle.clear()

#清空画布,并重置turtle

turtle.reset()

#撤销turtle上一个动作

turtle.undo()

#返回当前turtle是否可见

turtle.isvisible()

#复制当前图形

turtle.stamp()

#写文本,参数:文本内容,font=('字体参数',大小,'类型')

turtle.write('hello turtle',font=('Arial',20,'normal'))

'''

其他命令

'''

#设置海龟的模式并重置(参数:'standard'向右,‘logo’向上)

turtle.mode('logo')

#绘图延迟,单位毫秒

turtle.delay(50)

#开始记录多边形的顶点。当前的乌龟位置是多边形的第一个顶点。

turtle.begin_poly()

#停止记录多边形的顶点。当前的乌龟位置是多边形的最后一个顶点。将与第一个顶点相连。

turtle.end_poly()

#返回最后记录的多边形。

turtle.get_poly()

#事件循环,必须添加的一个函数且必须在末尾,不然会出现问题

#turtle.mainloop()

turtle.done()

上面学习的函数基本满足画一个佩奇了。

3.分析佩奇

把眼、耳朵、脸、鼻孔等拆分成单独的函数

代码:

# -*- coding: utf-8 -*-

"""

Created on Fri Mar 8 20:59:05 2019

@author: DataPro

"""

import turtle

def nose(x,y):#鼻子

penup()#提起笔

goto(x,y)#定位

pendown()#落笔,开始画

setheading(-30)#将乌龟的方向设置为to_angle/为数字(0-东、90-北、180-西、270-南)

begin_fill()#准备开始填充图形

a=0.4

for i in range(120):

if 0<=i<30 or 60<=i<90:

a=a+0.08

left(3) #向左转3度

forward(a) #向前走a的步长

else:

a=a-0.08

left(3)

forward(a)

end_fill()#填充完成

penup()

setheading(90)

forward(25)

setheading(0)

forward(10)

pendown()

pencolor(255,155,192)#画笔颜色

setheading(10)

begin_fill()

circle(5)

color(160,82,45)#返回或设置pencolor和fillcolor

end_fill()

penup()

setheading(0)

forward(20)

pendown()

pencolor(255,155,192)

setheading(10)

begin_fill()

circle(5)

color(160,82,45)

end_fill()

def head(x,y):#头

color((255,155,192),"pink")

penup()

goto(x,y)

setheading(0)

pendown()

begin_fill()

setheading(180)

circle(300,-30)

circle(100,-60)

circle(80,-100)

circle(150,-20)

circle(60,-95)

setheading(161)

circle(-300,15)

penup()

goto(-100,100)

pendown()

setheading(-30)

a=0.4

for i in range(60):

if 0<=i<30 or 60<=i<90:

a=a+0.08

lt(3) #向左转3度

fd(a) #向前走a的步长

else:

a=a-0.08

lt(3)

fd(a)

end_fill()

def ears(x,y): #耳朵

color((255,155,192),"pink")

penup()

goto(x,y)

pendown()

begin_fill()

setheading(100)

circle(-50,50)

circle(-10,120)

circle(-50,54)

end_fill()

penup()

setheading(90)

forward(-12)

setheading(0)

forward(30)

pendown()

begin_fill()

setheading(100)

circle(-50,50)

circle(-10,120)

circle(-50,56)

end_fill()

def eyes(x,y):#眼睛 公众号 数据分析联盟

color((255,155,192),"white")

penup()

setheading(90)

forward(-20)

setheading(0)

forward(-95)

pendown()

begin_fill()

circle(15)

end_fill()

color("black")

penup()

setheading(90)

forward(12)

setheading(0)

forward(-3)

pendown()

begin_fill()

circle(3)

end_fill()

color((255,155,192),"white")

penup()

seth(90)

forward(-25)

seth(0)

forward(40)

pendown()

begin_fill()

circle(15)

end_fill()

color("black")

penup()

setheading(90)

forward(12)

setheading(0)

forward(-3)

pendown()

begin_fill()

circle(3)

end_fill()

def cheek(x,y):#腮 公众号 数据分析联盟

color((255,155,192))

penup()

goto(x,y)

pendown()

setheading(0)

begin_fill()

circle(30)

end_fill()

def mouth(x,y): #嘴 公众号 数据分析联盟

color(239,69,19)

penup()

goto(x,y)

pendown()

setheading(-80)

circle(30,40)

circle(40,80)

def body(x,y):#身体 公众号 数据分析联盟

color("red",(255,99,71))

penup()

goto(x,y)

pendown()

begin_fill()

setheading(-130)

circle(100,10)

circle(300,30)

setheading(0)

forward(230)

setheading(90)

circle(300,30)

circle(100,3)

color((255,155,192),(255,100,100))

setheading(-135)

circle(-80,63)

circle(-150,24)

end_fill()

def hands(x,y):#手 公众号 数据分析联盟

color((255,155,192))

penup()

goto(x,y)

pendown()

setheading(-160)

circle(300,15)

penup()

setheading(90)

forward(15)

setheading(0)

forward(0)

pendown()

setheading(-10)

circle(-20,90)

penup()

setheading(90)

forward(30)

setheading(0)

forward(237)

pendown()

setheading(-20)

circle(-300,15)

penup()

setheading(90)

forward(20)

setheading(0)

forward(0)

pendown()

setheading(-170)

circle(20,90)

def foot(x,y):#脚 公众号 数据分析联盟

pensize(10)

color((240,128,128))

penup()

goto(x,y)

pendown()

setheading(-90)

forward(40)

setheading(-180)

color("black")

pensize(15)

fd(20)

pensize(10)

color((240,128,128))

penup()

setheading(90)

forward(40)

setheading(0)

forward(90)

pendown()

setheading(-90)

forward(40)

setheading(-180)

color("black")

pensize(15)

fd(20)

def tail(x,y):#尾巴 公众号 数据分析联盟

pensize(4)

color((255,155,192))

penup()

goto(x,y)

pendown()

seth(0)

circle(70,20)

circle(10,330)

circle(70,30)

def setting(): #参数设置

pensize(4)

hideturtle() #使乌龟无形(隐藏)

colormode(255) #将其设置为1.0或255.随后 颜色三元组的r,g,b值必须在0 .. cmode范围内

color((255,155,192),"pink")

setup(840,500)

speed(10)

def main():

setting() #画布、画笔设置

nose(-100,100) #鼻子

head(-69,167) #头

ears(0,160) #耳朵

eyes(0,140) #眼睛

cheek(80,10) #腮

mouth(-20,30) #嘴

body(-32,-8) #身体

hands(-56,-45) #手

foot(2,-177) #脚

tail(148,-155) #尾巴

done()

main()

python使用turtle库绘制一个100长度的十字架_python - 09【turtle库的使用(绘制小猪佩奇)】...相关推荐

  1. python使用turtle库绘制一个100长度的十字架_Python:turtle库的使用及图形绘制

    一.绘制一个八边形 使用turtle库,绘制一个八边形 代码: from turtle import * setup(800,800,20,20) penup() left(90) fd(350) l ...

  2. python使用turtle库绘制一个100长度的十字架_测验2: Python基本图形绘制 (第2周)

    # 测验2: Python基本图形绘制 (第2周) ## 单项选择题 ### 1.哪个选项不能正确引用turtle库进而使用setup()函数? A.import turtle as t B.impo ...

  3. python使用turtle库绘制一个100长度的十字架_使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例...

    使用python图形模块turtle库绘制樱花.玫瑰.圣诞树代码实例 发布时间:2020-08-22 15:57:19 来源:脚本之家 阅读:76 作者:Soul fragments 今天为大家介绍几 ...

  4. python中用于绘制各种图形、标注文本_python ImageDraw类实现几何图形的绘制与文字的绘制...

    python PIL图像处理模块中的ImageDraw类支持各种几何图形的绘制和文本的绘制,如直线.椭圆.弧.弦.多边形以及文字等. 下面直接通过示例来进行说明: #-*- coding: UTF-8 ...

  5. python第三方库安装最常用的方式是_Python安装第三方库常用方法

    在学习Python过程中,经常要用到很多第三方库,面对各种不同情况,Python为我们提供了多种安装方法: 一.pip安装: pip安装相信大家都不陌生了,在安装第三方库中,pip是最常使用的一种方法 ...

  6. 海龟作图python小猪佩奇_python海龟做图20秒完成小猪佩奇,附源码!

    Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象.直译式电脑编程语言,也是一种功能强大的通用型语言,已经具备近二十年的发展历史,成熟且稳定.它包含了一组完善并且容易理 ...

  7. python获得用户输入的一个字符串(长度3)_Python笔记(3)-字符串

    字符串表示方式 第一种方式: str1 = 'redhat' 第二种方式: str2 = "redhat" 第三种方式: str3 = """redh ...

  8. python获得用户输入的一个字符串(长度3)_python3 字符串属性(一)

    5.字符串编解码 { 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode 作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从 ...

  9. python画网络关系 节点和边存在文件里_python复杂网络分析库NetworkX

    NetworkX是一个用Python语言开发的图论与复杂网络建模工具,内置了常用的图与复杂网络分析算法,可以方便的进行复杂网络数据分析.仿真建模等工作.networkx支持创建简单无向图.有向图和多重 ...

最新文章

  1. linux root用户无法ssh,root用户无法通过ssh连接Linux系统
  2. 解决ubuntu中遇到“E:Unable to locate package rar” 的问题
  3. java.util.concurrent.Exchanger应用范例与原理浅析
  4. 51nod 1268 和为K的组合 dfs
  5. [学习笔记]状压dp
  6. 前端开发从项目中获得什么_我如何获得副项目的前10个客户以及从他们那里学到的东西...
  7. corel产品注册样机安装代码_为你的产品创建一个高逼格的宣传片
  8. 重磅 | 京东云区块链数据服务(BDS)正式开源!
  9. 解决Anaconda第三方库下载慢
  10. C# 实现DES加密解密
  11. 老男孩教育67期--day02--操作系统硬件知识
  12. 收费企业邮箱有哪些?哪个收费邮箱最好
  13. 计算机检测不到双显示器,win10装双屏检测不到另一显示器怎么解决
  14. 脚本不得关闭非脚本打开的窗口。Scripts may close only the windows that were opened by it...
  15. 关于用户名登录的问题
  16. 如何用计算机技术,如何利用计算机技术快速高效建立学籍档案
  17. 第二十章 Caché 设计模式 职责链模式
  18. 一道导数与不等式结合的题目
  19. 谷歌浏览器截图快捷键是什么?谷歌浏览器截图操作方法介绍
  20. java实现电子发票中的发票税号等信息识别的几种可用方案

热门文章

  1. 华为nova7pro的计算机,用了5天的华为nova7pro,优缺点都很多,不吐不快
  2. python打包含有参数传递的exe程序
  3. byte数组与字符串之间相互转换
  4. vue动态在页面添加背景图片
  5. select函数详解及实例分析
  6. java绘画图形_java – 动态图形对象绘画
  7. vue路由传参和取参,四种方法,包会
  8. Android Studio 项目设计开发bug记录以及未来新技术
  9. VS2019中出现【Windows SDK】找不到 Windows SDK 版本10.0.18362.0的解决办法
  10. A4和B5纸张大小是按什么标准划分的?