先放上参考

https://docs.python.org/3/library/turtle.html

//*******************************************************************************

1.画布(canvas)

  使用 turtle.setup() | turtle.screensize()

  可以设置画布大小、背景颜色以及标题等。

2.画笔

  2.1画笔状态

    默认画笔在画布中心、宽度为1、方向为水平右、颜色黑色并且下触。

    turtle.pensize() | turtle.width() :设置画笔宽度。turtle.speed() :速度,[0:10],越大越快。

  2.2绘图控制

  a.画笔运动控制

   

  1. #a.画笔运动命令
  2.  
  3. turtle.forward(distance)
  4. #向当前画笔方向移动distance像素长度
  5. turtle.backward(distance)
  6. #向当前画笔相反方向移动distance像素长度
  7. turtle.right(degree)
  8. #顺时针移动degree°
  9. turtle.left(degree)
  10. #逆时针移动degree°
  11. turtle.pendown()
  12. #移动时绘制图形,缺省时也为绘制
  13. turtle.goto(x,y)
  14. #将画笔移动到坐标为x,y的位置
  15. turtle.penup()
  16. #提起笔移动,不绘制图形,用于另起一个地方绘制
  17. turtle.circle()
  18. #画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆
  19. setx( )
  20. #将当前x轴移动到指定位置
  21. sety( )
  22. #将当前y轴移动到指定位置
  23. setheading(angle)
  24. #设置当前朝向为angle角度
  25. home()
  26. #设置当前画笔位置为原点,朝向东
  27. dot(r)
  28. #绘制一个指定直径和颜色的圆点
  29.  
  30. #b.画笔控制命令
  31.  
  32. turtle.fillcolor(colorstring)
  33. #绘制图形的填充颜色
  34. turtle.color(color1, color2)
  35. #同时设置pencolor=color1, fillcolor=color2
  36. turtle.filling()
  37. #返回当前是否在填充状态
  38. turtle.begin_fill()
  39. #准备开始填充图形
  40. turtle.end_fill()
  41. #填充完成
  42. turtle.hideturtle()
  43. #隐藏画笔的turtle形状
  44. turtle.showturtle()
  45. #显示画笔的turtle形状
  46.  
  47. #c.全局控制命令
  48.  
  49. turtle.clear()
  50. #清空turtle窗口,但是turtle的位置和状态不会改变
  51. turtle.reset()
  52. #清空窗口,重置turtle状态为起始状态
  53. turtle.undo()
  54. #撤销上一个turtle动作
  55. turtle.isvisible()
  56. #返回当前turtle是否可见
  57. stamp()
  58. #复制当前图形
  59. turtle.write(s [,font=("font-name",font_size,"font_type")])
  60. #写文本,s为文本内容,font是字体的参数,分别为字体名称,大小和类型;font为可选项,font参数也是可选项
  61.  
  62. #d.其他命令
  63.  
  64. turtle.mainloop()或turtle.done()
  65. #启动事件循环 -调用Tkinter的mainloop函数。必须是turtle图形程序中的最后一个语句
  66. turtle.mode(mode=None)
  67. #设置乌龟模式(“standard”,“logo”或“world”)并执行重置。如果没有给出模式,则返回当前模式
  68. '''
  69. 模式 初始龟标题 正角度
  70. standard 向右(东) 逆时针
  71. logo 向上(北) 顺时针
  72. '''
  73. turtle.delay(delay=None)
  74. #设置或返回以毫秒为单位的绘图延迟。
  75. turtle.begin_poly()
  76. #开始记录多边形的顶点。当前的乌龟位置是多边形的第一个顶点
  77. turtle.end_poly()
  78. #停止记录多边形的顶点。当前的乌龟位置是多边形的最后一个顶点。将与第一个顶点相连
  79. turtle.get_poly()
  80. #返回最后记录的多边形

//*******************************************************************************

贴上练习代码

  1. import turtle as t
  2.  
  3. def Screen():
  4. #t.setup(width=1024, height=960, startx=100, starty=100)
  5. t.bgcolor("orange")
  6. t.screensize(2000,1500,"#0ffff0")
  7. t.title("Hello!")
  8.  
  9. def Draw0():
  10. t.penup()
  11. t.pensize(5) #pen's width
  12. #t.color("black") #default is black
  13. #t.forward(10)
  14. t.circle(100,steps=3)
  15. t.pendown() #default is down
  16. t.goto(-100,-200)
  17. t.penup()
  18.  
  19. def Draw1():
  20. t.penup()
  21. t.goto(100,100)
  22. t.pendown() #
  23. t.begin_fill()
  24. t.color("yellow")
  25. t.circle(50)
  26. t.end_fill()
  27. t.penup()
  28.  
  29. def Draw2():
  30. t.penup()
  31. t.goto(200,100)
  32. t.pendown()
  33. t.begin_fill() #
  34. t.color("blue") #
  35. t.fillcolor("black") #
  36. t.circle(50)
  37. t.end_fill()
  38. t.penup()
  39.  
  40. '''
  41. turtle.write(arg, move=False, align="left", font=("Arial", 8, "normal"))
  42. Parameters:
  43. arg – object to be written to the TurtleScreen
  44. move – True/False
  45. align – one of the strings “left”, “center” or right”
  46. font – a triple (fontname, fontsize, fonttype)
  47. '''
  48. def Write():
  49. t.penup()
  50. #t.goto(0,0)
  51. #t.write("Color Draw",font=("Times",18,"bold"))
  52. t.write("Home = ",False,align="left")
  53. t.write((0,0),True)
  54. t.clear()
  55.  
  56. def Draw3():
  57. t.penup()
  58. t.setpos(200,200)
  59. t.pendown()
  60. t.pencolor("blue")
  61. t.right(50) #Rotate right
  62. t.forward(100) #
  63. t.dot(10,"red") #
  64. t.left(50+180) #Ritate left
  65. t.color("blue")
  66. t.speed(10)
  67. t.forward(100)
  68.  
  69. def Draw4():
  70. t.penup()
  71. t.goto(100,100)
  72. t.pen(fillcolor="red",pencolor="black",pensize=10)
  73. t.pendown()
  74. t.circle(50)
  75. t.goto(-100,-100)
  76. t.pencolor("#ffff00") #"#%02x%02x%02x" % (r, g, b)
  77. t.width(2)
  78. t.forward(100)
  79. t.left(180)
  80.  
  81. def Draw5():
  82. #t.color("black","red")
  83. #t.begin_fill()
  84. t.speed(10)
  85. t.circle(80)
  86. #t.end_fill()
  87. t.clear()
  88. t.clearscreen()
  89. t.delay(0)
  90.  
  91. def main():
  92. Screen()
  93. #Write()
  94. #while(True):
  95. # Draw5()
  96. Draw4()
  97. #t.mainloop() #stop
  98. #t.bye() #close window
  99. t.exitonclick()
  100.  
  101. if __name__ == "__main__":
  102. main()

python3学习笔记.4.turtle绘图的更多相关文章

  1. Python3学习笔记(urllib模块的使用)转http://www.cnblogs.com/Lands-ljk/p/5447127.html

    Python3学习笔记(urllib模块的使用)   1.基本方法 urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None,  ...

  2. Python3学习笔记 - 准备环境

    前言 最近乘着项目不忙想赶一波时髦学习一下Python3.由于正好学习了Docker,并深深迷上了Docker,所以必须趁热打铁的用它来创建我们的Python3的开发测试环境.Python3的中文教程 ...

  3. python3学习笔记(7)_listComprehensions-列表生成式

    #python3 学习笔记17/07/11 # !/usr/bin/env python3 # -*- conding:utf-8 -*- #通过列表生成式可以生成格式各样的list,这种list 一 ...

  4. python3学习笔记(6)_iteration

    #python3 学习笔记17/07/10 # !/usr/bin/env python3 # -*- coding:utf-8 -*- #类似 其他语言的for循环,但是比for抽象程度更高 # f ...

  5. python3学习笔记(5)_slice

    #python3 学习笔记17/07/10 # !/usr/bin/env python3 # -*- coding:utf-8 -*- #切片slice 大大简化 对于指定索引的操作 fruits ...

  6. matlab学习笔记9 高级绘图命令_2 图形的高级控制_视点控制和图形旋转_色图和颜色映像_光照和着色

    一起来学matlab-matlab学习笔记9 高级绘图命令_2 图形的高级控制_视点控制和图形旋转_色图和颜色映像_光照和着色 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 < ...

  7. matlab学习笔记9 高级绘图命令_1 图形对象_根对象,轴对象,用户控制对象,用户菜单对象

    一起来学matlab-matlab学习笔记9 高级绘图命令_1 图形对象_根对象,轴对象,用户控制对象,用户菜单对象 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matl ...

  8. matlab学习笔记8 基本绘图命令-三维绘图

    一起来学matlab-matlab学习笔记8 基本绘图命令_6 三维绘图 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用>张德丰等著 ...

  9. matlab学习笔记8 基本绘图命令-初级二维绘图/交互式绘图

    一起来学matlab-matlab学习笔记8 基本绘图命令_5 初级二维绘图/交互式绘图 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用&g ...

随机推荐

  1. ACM数论之旅1---素数(万事开头难(>_<))

    前言:好多学ACM的人都在问我数论的知识(其实我本人分不清数学和数论有什么区别,反正以后有关数学的知识我都扔进数论分类里面好了) 于是我就准备写一个长篇集,把我知道的数论知识和ACM模板都发上来(而且 ...

  2. 重新认识javascript的settimeout和异步

    1.简单的settimeout setTimeout(function () { while (true) { } }, 1000); setTimeout(function () { alert(' ...

  3. Java Junit测试框架

    Java    Junit测试框架 1.相关概念 Ø JUnit:是一个开发源代码的Java测试框架,用于编写和运行可重复的测试.它是用于单元测试框架体系xUnit的一个实例(用于java语言).主要 ...

  4. MT【119】关于恒成立的一道压轴题

    分析:处理恒成立问题,一般先代特殊值缩小范围.令x=0,则f(a)<f(0),容易知a<0. 排除答案C.容易理解a趋向于0时候,是可以的,排除D.在剩余的A,B选项里,显然偏向于A.因为 ...

  5. 【刷题】BZOJ 2820 YY的GCD

    Description 神犇YY虐完数论后给傻×kAc出了一题给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y)有多少对kAc这种傻×必然 ...

  6. 使用LD_Preload的Linux权限升级技巧

      0x00 前言 共享库是程序在启动时加载的库.正确安装共享库后,之后启动的所有程序将自动使用新的共享库. 0x01 共享库名称 每个共享库都有一个名为soname的特殊名称.soname有前缀li ...

  7. 主动分布式WEB资产扫描

      一. Redis的服务安装 系统环境:centos7x64   ip地址:192.168.1.11 1.设置静态IP地址 [root@localhost backlion]#vi /etc/sys ...

  8. CodeVs.2370 小机房的树 ( LCA 倍增 最近公共祖先)

    CodeVs.2370 小机房的树 ( LCA 倍增 最近公共祖先) 题意分析 小机房有棵焕狗种的树,树上有N个节点,节点标号为0到N-1,有两只虫子名叫飘狗和大吉狗,分居在两个不同的节点上.有一天, ...

  9. Python之旅:元组

    作用:存多个值,对比列表来说,元组不可变(是可以当做字典的key的),主要是用来读#定义:与列表类型比,只不过[]换成()age=(11,22,33,44,55)本质age=tuple((11,22, ...

  10. gdb调试3_显示变量 和 数组

    http://www.cnblogs.com/shipfi/archive/2008/08/04/1260293.html  感谢作者! 程序变量查看文件中某变量的值:file::variablefu ...