当前位置:   article > 正文

Python中turtle的基础用法_python turtle 用法

python turtle 用法

一、turtle的简单介绍

turtle(海龟),是python自带的的一个基于thinker的一个绘图标准库,无需下载即可使用,能够通过坐标控制,抬笔落笔等操作绘制自己需要的图形。

二、turtle基础

1、在使用turtle时,首先要做的是导入turtle库

 第一种导入方式:from turtle import *                 从turtle库中导出所有的方法和属

 注意:在使用该方法时无需添加任何的对象,就可以直接使用turtle库中的方法

 第二种导入方式:import turtle as t 

 (as t   是turtle太长了,使用不太方便,取个别名 t 使用 更加方便,你可以将t理解为一个自定义的对象,之后可以通过它调用turtle的方法)

下面我们分别使用两种导入方式来实现同一功能:

第一种:

  1. from turtle import *
  2. forward(200) # 沿着当前方向前进200像素
  3. circle(80) # 绘制一个半径为80像素的圆
  4. goto(0,0) # 并且回到原点
  5. done() # 维持界面

第二种:

  1. import turtle as t
  2. t.forward(200) # 沿着当前方向前进200像素
  3. t.circle(80) # 画一个半径为80像素的圆
  4. t.goto(0,0) # 并且回到原点
  5. t.done() # 维持界面

2、turtle的常用方法

  1. # pensize()用于设置画笔的宽度,里面直接放整数即可。
  2. """
  3. setup() 用于新建画布
  4. setup(width,height,startx,starty)
  5. width: 代表画布宽度,若是整数则代表有多少像素,若是小数则代表占屏幕的比率
  6. height: 代表画布的高度,若是整数则代表有多少像素,若是小数则代表占屏幕的比率
  7. startx: 正值则代表距离屏幕左边界多少像素,负值则代表距离屏幕右边界有多少像素
  8. starty: 正值则代表距离屏幕上边界多少像素,负值则代表距离屏幕下边界有多少像素
  9. """
  10. #例如:
  11. import turtle
  12. turtle.setup(width=0.75,height=0.85,startx=100,starty=0)
  13. turtle.done()

3、有关画笔的相关属性及问题的介绍

画笔:在画布的中央默认有x,y轴的坐标系,坐标原点的位置在画布正中央,坐标原点也是画笔的初始位置。画笔的初始方向为x轴的正方向。

以下我们介绍画笔的常用命令(用于设置画笔的各类属性,和操作画笔绘图):

基础阶段设置和操作画笔的主要命令如下:

设置笔的颜色:pencolor()                                    例如:pencolor("red")  设置画笔为红色

设置笔的宽度:pensize()                                      例如:pensize(5)    设置画笔宽度为5px

抬笔:penup()                               简写:pu()                

落笔:pendown()                           简写:  pd()

沿当前方向前进:forward()         简写:fd()

逆时针方向旋转:left()                   简写:  lt()       例如:left(180°)  画笔方向逆时针旋转180°

顺时针方向旋转:right()                 简写:rt()        例如:right(90°)  画笔方向顺时针旋旋90°

案例一:画一个边长为180像素的正方形(要求下边为绿色,右边为红色,上边为蓝色,左边为黄色)

  1. import turtle as t
  2. # 绿、红、蓝、黄
  3. t.pencolor("green") #设置画笔的颜色为绿色
  4. t.forward(180) #前进180px
  5. t.left(90) #逆时针旋转90°
  6. t.pencolor("red") #设置画笔的颜色为红色
  7. t.forward(180) #向前180px
  8. t.left(90) #逆时针方向旋转90°
  9. t.pencolor("blue") #设置画笔的颜色为蓝色
  10. t.forward(180) #向前180px
  11. t.left(90) #逆时针旋转90°
  12. t.pencolor("yellow") #设置画笔的颜色为黄色
  13. t.forward(180) #前进180px
  14. t.done() #绘制完成后维持结果界面

绘制的正方形的效果如下:

案例二:

接下来我来介绍一个非常实用的功能:颜色填充

即:fillcolor()、begin_fill()、end_color()三者的应用    

接下来我们在案例一的基础之上对所画的正方形填充pink颜色

  1. """
  2. 主要在正确的位置添加以下三行代码:
  3. t.fillcolor("pink") #设置填充颜色为pink
  4. t.begin_fill() #开始填充
  5. t.end_fill() #结束填充
  6. """
  7. import turtle as t
  8. # 绿、红、蓝、黄
  9. t.pencolor("green")
  10. t.fillcolor("pink") # 设置填充颜色为 pink
  11. t.begin_fill() # 在当前位置开启填充(就是在画笔没有移动前开始)
  12. t.forward(180)
  13. t.left(90)
  14. t.pencolor("red")
  15. t.forward(180)
  16. t.left(90)
  17. t.pencolor("blue")
  18. t.forward(180)
  19. t.left(90)
  20. t.pencolor("yellow")
  21. t.forward(180)
  22. t.end_fill() # 在画笔完成所有的移动后结束填充
  23. t.done()

效果如下:

案例三:绘制一个与下图一样的正方形(边长180px),并且在最后隐藏画笔(hideturtle()即可实现隐藏画笔):

分析:本题首先要使用“red”颜色开启填充,然后沿着x轴正方向移动180px,再左转90°前进180px

           然后再回原点,就完成绘制右下角的红色三角形 。此时的画笔朝向x轴正向,同样需要先使

           用“yellow”颜色开启填充,先左转再前进180px,再右转90°再前进180x,然后回归原点。

实现代码:

  1. import turtle as t #导入海龟画图的第三方模块
  2. t.fillcolor("red") #设置填充颜色为红色
  3. t.begin_fill() #开始填充
  4. t.forward(180) #在起始位置沿x轴正方向移动180像素
  5. t.left(90) #海龟逆时针方向旋转90度
  6. t.fd(180) #前进180px
  7. t.home() #使画笔回归坐标原点
  8. t.end_fill() #结束填充
  9. t.fillcolor("yellow") #设置填充颜色为黄色
  10. t.begin_fill() #开始填充
  11. t.lt(90) #左转90°
  12. t.fd(180) #前进180px
  13. t.rt(90) #右转90°
  14. t.fd(180) #前进180px
  15. t.home() #回到坐标原点
  16. t.end_fill() #填充结束
  17. t.hideturtle() #隐藏画笔
  18. t.done() #使界面结果一直存在,不会立刻关闭

介绍以下:circle()   是turtle用来画圆使使用的

t.circle(radius,extent=None)

radius: 是圆的半径,如果半径为正值,则圆心在点的左侧,为负则在圆心的右侧

extent:    就是绘制的角度,它的默认值为360°(该参数可以没有),绘制的角度值如果为正的话就朝着画笔朝向的那一侧从该点画圆,若角度为负的话则是朝向画笔反方向那一侧从该点画圆

  1. """
  2. 注释真的非常重要,请仔细分析,并去认真的理解注释所叙述的内容。
  3. """
  4. #圆的绘制
  5. import turtle as t
  6. t.pensize(10)
  7. t.circle(100,360) # r =100 > 0 所以,圆心在画笔的左侧,由于此时画笔朝向x轴的正方向,所以圆心在画笔的上方extent(角度)=360 > 0 所以,从画笔正向那一侧在该点起始画圆
  8. t.circle(-100,-360) # r = -100 < 0 所以,圆心在画笔的右侧,由于此时画笔朝向x轴的正方形,则可得圆心在画笔的下方extent(角度)=-360 < 0 所以,从画笔的反方向那一侧在该点开始画圆

以上代码的实现图如下:

分析:由于画笔的指向是x轴的正方向,所以其左侧起始就是其上侧,其右侧起始就是其下侧。t.circle(100,360)其半径r=100 > 0,所以就意味着其圆心在画笔的左侧(此处也就是上侧),即A点。   extent=360>0也就意味着会从画笔正方向那一侧以A点为圆心,从画笔所在位置开始绘制一个圆。                                                                t.circle(-100,-360) 半径 r < 0 所以其圆心在画笔的右侧(此处即使下侧)B点,由于extent(角度) < 0所以会从画笔方向的反侧,以B为圆心,从画笔所在处画圆。                                                                  

案例五:绘制下图一样的奥运五环(综合案例)

           

  1. import turtle as t
  2. t.pensize(5) # 设置画笔的宽度
  3. t.speed(8) # 设置画笔的速度
  4. #蓝色圈
  5. t.color("blue") # 和pencolor()同样可以设置画笔的颜色
  6. t.circle(60,360)
  7. #黑色圈
  8. t.penup() # 抬笔
  9. t.goto(90,0) # 移动画笔至(90,0点)
  10. t.pendown()
  11. t.pencolor("black")
  12. t.circle(60,360)
  13. #红色圈
  14. t.penup()
  15. t.goto(182,0)
  16. t.pendown()
  17. t.color("red")
  18. t.circle(60,360)
  19. #黄圈
  20. t.penup()
  21. t.goto(140,-70)
  22. t.pendown()
  23. t.color("yellow")
  24. t.circle(60,360)
  25. #绿圈
  26. t.penup()
  27. t.goto(35,-70)
  28. t.pendown()
  29. t.pencolor("green")
  30. t.circle(60,360)
  31. t.done()

三、总体内容概术

以上对turtle定义的介绍是次要,重要的是要懂对turtle的导入,以及能够熟练的使用以上所列出的画笔的用法,能够用其画出指定的且个性化的图形,以上内容随然不够完整,turtle库中还有许多的用法没有涉及,但是对于初学者来说,掌握上面的经常使用的画笔用法是足够了。也能够为后续的学习奠定坚实的基础。

我知道我的博客有很多的不足,麻烦阅读者给我建议,我也需要逐渐的改进和提升!让我们共同进步吧!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/117000
推荐阅读
相关标签
  

闽ICP备14008679号