海龟图:使用turtle模块中的对象和方法进行作图


坐标

import turtlet = turtle.Turtle()

在边框中间白色的区域叫做画布,画布中间的小图标叫做小海龟。画布大概包含360000个点,叫做像素。

例:生成一朵带有36瓣花朵的花

import turtlet = turtle.Turtle()
t.hideturtle()
t.color('blue','light blue')
t.begin_fill()
for i in range(36):t.forward(200)t.left(170)
t.end_fill()

turtle模块中方法

在任何时候小海龟都有以下的状态:位置(坐标表示)、朝向(用面朝的方向与水平线的逆时针夹角表示)、笔的状态(抬起或放下),以及颜色。
小海龟面朝东、北、西、南将分别由0度,90度,180度,270度表示。
所有的标准颜色(例如红、蓝)调剖可作为笔的颜色。
彩色插页展示了32种可以选择的颜色。

矩形

第一种函数

import turtledef main():t = turtle.Turtle()t.hideturtle()drawRectangle(t,0,0,200,150,"red")    def drawRectangle(t,x,y,w,h,colorP="black"):##bottom-left corner(x,y)##width w,height ht.pencolor(colorP)t.up()t.goto(x,y)t.down()t.goto(x+w,y)t.goto(x+w,y+h)t.goto(x,y+h)t.goto(x,y)main()

第二种函数
import turtle

def main():t = turtle.Turtle()t.hideturtle()drawRectangle(t,0,0,200,150,"red")    def drawRectangle(t,x,y,w,h,colorP="black"):t.pencolor(colorP)t.up()t.goto(x,y)t.down()for i in range(2):t.forward(w)t.left(90)t.forward(h)t.left(90)main()

例:
矩形,红色边框,黄色填充

import turtledef main():t = turtle.Turtle()t.hideturtle()drawFilledRectangle(t,0,0,100,150,"red","yellow")    def drawFilledRectangle(t,x,y,w,h,colorP="black",colorF="white"):t.pencolor(colorP)t.fillcolor(colorF)t.up()t.goto(x,y)t.down()t.begin_fill()t.goto(x+w,y)t.goto(x+w,y+h)t.goto(x,y+h)t.goto(x,y)t.end_fill()main()

旗帜

旗帜

import turtledef main():t = turtle.Turtle()t.hideturtle()drawFilledRectangle(t,0,0,150,25,"light blue","light blue")drawFilledRectangle(t,0,25,150,50,"blue","blue")drawFilledRectangle(t,0,75,150,25,"light blue","light blue")drawDot(t,75,50,40,"white")def drawFilledRectangle(t,x,y,w,h,colorP="black",colorF="white"):t.pencolor(colorP)t.fillcolor(colorF)t.up()t.goto(x,y)t.down()t.begin_fill()t.goto(x+w,y)t.goto(x+w,y+h)t.goto(x,y+h)t.goto(x,y)t.end_fill()def drawDot(t,x,y,diameter,colorP):t.up()t.goto(x,y)t.pencolor(colorP)t.dot(diameter)main()

五角星

import turtledef main():t = turtle.Turtle()t.hideturtle()lengthOfSide = 200drawFivePointStar(t,0,0,lengthOfSide)    def drawFivePointStar(t,x,y,lengthOfSide):t.up()t.goto(x,y)t.left(36)t.down()for i in range(5):t.forward(lengthOfSide)t.left(144)main()

write方法

如果s是一个字符串,则语句t.write(s)将会近似以当前位置作为字符串的左下角来显示字符串
语句t.write(s,align=’right’)和t.write(s,align=’center)将会分别近似以当前位置作为字符串的右下角和下方中心点来显示字符串。。
不论笔抬起或放下,write方法都会输出字符串。
注意:t.write(s)与t.write(s,align=’left)的效果相同
例:

import turtlet = turtle.Turtle()
t.hideturtle()
t.up()
t.goto(0,60)
t.dot()
t.write("Python")
t.goto(0,30)
t.dot()
t.write("Python",align='right')
t.goto(0,0)
t.dot()
t.write("Python",align='center')

用来显示字符串的字体可以由write方法的font参数指定,参数的形式是三元组(fontName,fontSize,styleName)。
styleName的值可以是italic、bold、underline、normal

t.write("Python",font=("Courier New",12,"bold"))

一个write方法可以包含align和font参数中的一个、两个,或者都不包含。

柱状图

当一些特定的数据由柱状图来展示时,将会有助于人们的理解

import turtleheights = [856,420,360,260,205]def main():t = turtle.Turtle()t.hideturtle()for i in range(5):drawFilledRectangle(t,-200+(76*i),0,76,heights[i]/4,"black","light blue")displayText(t)def drawFilledRectangle(t,x,y,w,h,colorP="black",colorF="white"):t.pencolor(colorP)t.fillcolor(colorF)t.up()t.goto(x,y)t.down()t.begin_fill()t.goto(x+w,y)t.goto(x+w,y+h)t.goto(x,y+h)t.goto(x,y)t.end_fill()def displayText(t):languages = ["Mandarin","Spanish","English","Hindi","Bengali"]t.pencolor("blue")t.up()for i in range(5):t.goto(-162+(76*i),heights[i]/4)t.write(str(heights[i]),align='center',font=("Arial",10,"normal"))t.goto(-162+(76*i),10)t.write(languages[i],align='center',font=("Arial",10,"normal"))t.goto(-200,-25)t.write("Principal Languages of the World",font=("Arial",10,"normal"))t.goto(-200,-45)t.write('(in millions of"first language" speakers)',font=("Arial",10,"normal"))main()

折线图

简单的表格数据可以由折线图来展示

import turtleyValues = [10.0,7.4,6.4,5.3,4.4,3.7,2.6]def main():t = turtle.Turtle()t.hideturtle()drawLine(t,0,0,300,0)drawLine(t,0,0,0,175)for i in range(5):drawLineWithDots(t,40+(40*i),15*yValues[i],40+(40*(i+1)),15*yValues[i+1],"blue")drawTickMarks(t)displayText(t)def drawLine(t,x1,y1,x2,y2,colorP="black"):t.up()t.goto(x1,y1)t.down()t.pencolor(colorP)t.goto(x2,y2)def drawLineWithDots(t,x1,y1,x2,y2,colorP="black"):t.pencolor(colorP)t.up()t.goto(x1,y1)t.dot(5)t.down()t.goto(x2,y2)t.dot(5)def drawTickMarks(t):for i in range(1,8):drawLine(t,40*i,0,40*i,10)drawLine(t,0,15*max(yValues),10,15*max(yValues))drawLine(t,0,15*min(yValues),10,15*min(yValues))def displayText(t):t.pencolor("blue")t.up()t.goto(-3,(15*max(yValues))-10)t.write(max(yValues),align="right")t.goto(-3,(15*min(yValues))-10)t.write(min(yValues),align="right")x=40for i in range(2000,2013,2):t.goto(x,-20)t.write(str(i),align='center')x+=40t.goto(0,-50)t.write("Percentage of College Freshmen Who Smoke")main()

注释

一个可选的语句t.speed(n),n是从0到10的整数。它决定了小海龟的移动速度。如果参数省略的话,速度为3.参数为0时小海龟将瞬间移动至目标点。

Python - 海龟图相关推荐

  1. python海龟图 如何控制线的粗细_使用Python中的高级turtle(海龟)作图方法

    在Python里,海龟不仅可以画简单的黑线,还可以用它画更复杂的几何图形,用不同的颜色,甚至还可以给形状填色. 一.从基本的正方形开始 引入turtle模块并创建Pen对象: >>> ...

  2. python画图turtle小人_python海龟绘图怎么增加每次画圆的半径|海龟python做图教程...

    在python的海龟作图中怎么取一个图形的对称图形 用坐标法吧,turtle默认的初始位置是(0,0),用penup(),goto(),pendown()移动到某个位置,自己算一下就可以.然后,用st ...

  3. python海龟编辑器画小汽车_【海龟编辑器下载】海龟编辑器(Python编辑器) v1.3.4 官方免费版-趣致软件园...

    海龟编辑器是一款专为广大少儿打造的Python编辑器,该软件功能强大且使用便利,可以帮助孩子们以搭积木的方式来学习Python,并且支持Python代码和图形化积木的双向互相转译,不但可以有效提升孩子 ...

  4. 用代码过中秋,python海龟月饼你要不要尝一口?

            目录: 一.2022年中秋祝福 二.Python 海龟画图主要方法 (1)海龟画图的主要步骤 (2)海龟画图的坐标体系 (3)海龟画图的一些建议 三.海龟画图常用命令 1.初始化 2. ...

  5. 用Python海龟画图画哆啦A梦

    文章目录 前言 一.画哆啦A梦脸的外圈蓝色 二.画哆啦A梦脸的内圈白色 三.哆啦A梦的鼻子 四.哆啦A梦的鼻尖 五.哆啦A梦的左眼 六.哆啦A梦的右眼 七.哆啦A梦的左眼内部 八.哆啦A梦的右眼内部 ...

  6. 海龟画图 python代码五星红旗,python海龟绘图之画国旗实例代码

    画之前肯定要知道规格图,我找了一个大致的图. 参考图片: 绘制大星的方法很简单,五角星的补角是144度. 绘制小五角星有点麻烦,因为我国国旗上的小五角星并不是平放的(美帝曾经这样把我们的国旗搞错过), ...

  7. 【程序人生】卡塔尔世界杯元素python海龟绘图(附源代码),世界杯主题前端特效5个(附源码)

    卡塔尔世界杯元素python海龟绘图(附源代码) 世界杯主题前端特效5个(附源码)程序人生 本文目录: 一.python turtle海龟绘图卡塔尔世界杯元素 (1).绘制效果图 (2).代码演示方法 ...

  8. Python 海龟绘图 100 题——第 88 题

    题目:绘制下面的图形 解析: 绘制圆形套正方形.(此题给的两种方法起始位置不同,方法一从最上面开始,方法二从图中 O 点起始) 答案: 方法一 import turtle as t for i in ...

  9. Python海龟画图集合

    Python海龟画图集合 1. 小猪佩奇 2. 彩色螺旋线 3. 太极 4.美国队长盾牌 1. 小猪佩奇 # coding: utf-8import turtle as tt.screensize(4 ...

最新文章

  1. 年近 40,我在互联网大厂做高龄“大头兵”
  2. 转一个,中文分词方法概述
  3. 做折线图的软件_三星Galaxy Labs,它由4个下层软件构成,各有其用
  4. ruby gem passenger依赖关系
  5. 2019-03-13-算法-进化(验证回文串)
  6. HTML5新增标签 0303
  7. 汇编:LEA(取偏移地址)、LES
  8. 瞬间之美:Web 界面设计如何让用户心动
  9. java模拟dos窗口
  10. 50个常用sql语句 网上流行的学生选课表的例子
  11. 在苹果Mac中开启通用控制的方法
  12. eclipse快捷键介绍
  13. excel如何设置下拉框选项
  14. 两台计算机怎样互相访问文件,两台电脑之间怎么互相传文件
  15. M. Bottle Arrangements
  16. 题目:输入一个字符串,输出该字符串中字符的所有组合。举个例子,如果输入abc,它的组合有a、b、c、ab、ac、bc、abc。
  17. 男人二十岁后应该学会的习惯
  18. 【bzoj1818】[Cqoi2010]内部白点
  19. 友盟+吕志国:数据智能让天下没有难做的营销
  20. 云会议是什么?如何提升云会议的协同能力?

热门文章

  1. 【自然语言处理】实验1布置:Word2Vec TransE案例
  2. 如何高效的收集视频作业、收集照片作业,安利一款收集工具/小程序
  3. STM32H743 ADC1+DMA1 ADC3+BDMA CubeMX配置使用
  4. 今日头条 ocpc java_今日头条OCPC应该怎么玩?转化才定蹭蹭蹭
  5. 转载:ubuntu教程
  6. 删除u盘插拔记录linux,电脑u盘插拔记录_电脑u盘插拔时间记录
  7. 【爬虫】牛客网简易爬虫(二)用Selenium看看你投过简历的公司这个月哪些有笔试+笔试时间
  8. 【Codewars】Simple Pig Latin
  9. 【推荐】免费领取QQ密保卡,提高QQ安全!
  10. SVN入门及配置使用(多平台)