海龟画图
- 格式:pptx
- 大小:2.46 MB
- 文档页数:58
Python-Turtle库(海龟绘图)基础知识点中国⼤学MOOC《python语⾔程序设计》课程 ——学习⽇记⼀、Turtle库绘图原理: 可以想象成有⼀只海龟,初始位置在窗⼝中⼼,且⽅向朝正右⽅; 海龟⾛过的轨迹形成了绘制的图案: 我们通过编写程序,控制海龟的⾏动轨迹,并且可以设定轨迹的⼤⼩、颜⾊等等。
⼆、Turtle的绘图窗⼝: 函数:turtle.setup(width, height, startx, starty) 表⽰建⽴⼀个绘图窗⼝ width:绘图窗⼝的宽度(像素) height:绘图窗⼝的⾼度(像素) startx:(绘图窗⼝左上⾓的点)距离屏蔽左侧的距离(像素) starty:(绘图窗⼝左上⾓的点)距离屏蔽顶部的距离(像素) Ps:startx和starty可以不填,表⽰绘图窗⼝在电脑屏幕上居中。
函数:turtle.screensize(width, height, "颜⾊") 表⽰建⽴⼀个绘图窗⼝,并定义背景颜⾊三、Turtle空间坐标体系: 函数:turtle.goto(x, y) 表⽰移动到窗⼝上的某⼀点(注:带轨迹) .goto函数是以绘图窗⼝中⼼为坐标原点,把窗⼝划分为4个象限的坐标系。
PS:如果移动过程中不想带轨迹,可配合turtle.penup()和turtle.pendown()这两个函数使⽤。
turtle.penup():提起画笔(海龟起飞),库别名:turtle.up() turtle.pendown():落下画笔(海龟降落),库别名:turtle.pd() 函数:turtle.forword(d) 别名 turtle.fd(d):前进(d:距离) 函数:turtle.backward(d) 别名 turtle.bk(d):后退(d:距离) 函数:turtle.circle(r, angle):画⼀个半径为r,⾓度为angle的圆。
python海龟绘图实例教程本⽂以实例形式介绍了python turtle模块即海龟绘图的使⽤⽅法,对于需要进⾏图形编程的朋友相信会有⼀定的借鉴价值。
python turtle模块简介:python2.6版本中引⼊的⼀个简单的绘图⼯具,叫做海龟绘图(Turtle Graphics)1.使⽤海龟绘图⾸先我们需要导⼊turtle,如下所⽰:from turtle import * #将turtle中的所有⽅法导⼊2.海龟绘图属性:(1)位置(2)⽅向(3)画笔(画笔的属性,颜⾊、画线的宽度)3.操纵海龟绘图有着许多的命令,这些命令可以划分为两种:⼀种为运动命令,⼀种为画笔控制命令(1)运动命令:forward(degree) #向前移动距离degree代表距离backward(degree) #向后移动距离degree代表距离right(degree) #向右移动多少度left(degree) #向左移动多少度goto(x,y) #将画笔移动到坐标为x,y的位置stamp() #复制当前图形speed(speed) #画笔绘制的速度范围[0,10]整数(2)画笔控制命令:down() #移动时绘制图形,缺省时也为绘制up() #移动时不绘制图形pensize(width) #绘制图形时的宽度color(colorstring) #绘制图形时的颜⾊fillcolor(colorstring) #绘制图形的填充颜⾊fill(Ture)fill(false)4.关于turtle简介许多下⾯我们看个实例:(⼀)绘制正⽅形:import turtleimport time#定义绘制时画笔的颜⾊turtle.color("purple")#定义绘制时画笔的线条的宽度turtle.size(5)#定义绘图的速度turtle.speed(10)#以0,0为起点进⾏绘制turtle.goto(0,0)#绘出正⽅形的四条边for i in range(4):turtle.forward(100)turtle.right(90)#画笔移动到点(-150,-120)时不绘图turtle.up()turtle.goto(-150,-120)#再次定义画笔颜⾊turtle.color("red")#在(-150,-120)点上打印"Done"turtle.write("Done")time.sleep(3)(⼆)绘制五⾓星:import turtleimport timeturtle.color("purple")turtle.pensize(5)turtle.goto(0,0)turtle.speed(10)for i in range(6):turtle.forward(100)turtle.right(144)turtle.up()turtle.forward(100)turtle.goto(-150,-120)turtle.color("red")turtle.write("Done")time.sleep(3)这⾥给出了两个简单的实例,⼤家可以根据上⾯的思路与⽅法进⼀步拓展,绘制出⼀些更复杂的图形。
python海龟画图知识点总结一、海龟绘图简介海龟绘图是Python语言中的一个标准库,它提供了一个简单的图形绘制功能。
这个模块的灵感来源于小孩子玩耍时的画画游戏,通过调用不同的函数来控制海龟的行为,我们可以在画布上绘制出各种各样的图案和图形。
海龟绘图是一个很好的初学者入门编程的工具,因为它的操作简单直观,而且很容易理解。
二、海龟模块的基本功能在Python中使用海龟绘图,首先我们需要导入turtle这个模块:```pythonimport turtle```接着我们创建一个海龟对象,我们可以给海龟对象取一个名字,比如叫做“t”:```pythont = turtle.Turtle()```接下来,我们就可以开始控制海龟来绘制图形了。
海龟绘图主要通过控制海龟对象的移动和转向来完成,下面是一些常用的海龟操作方法:- 前进:t.forward(distance),表示海龟向当前方向前进一定距离。
- 后退:t.backward(distance),表示海龟向当前方向后退一定距离。
- 左转:t.left(angle),表示海龟向左转动一定角度。
- 右转:t.right(angle),表示海龟向右转动一定角度。
- 提起笔:t.penup(),表示海龟抬起笔,不在绘制图形。
- 落下笔:t.pendown(),表示海龟落下笔,开始绘制图形。
- 设置颜色:t.color(color),表示设置海龟的颜色。
通过组合这些操作方法,我们就可以控制海龟画出各种各样的图案。
下面我们来看几个简单的例子,来演示一下海龟绘图的具体操作。
```pythonimport turtlet = turtle.Turtle()t.forward(100)t.left(90)t.forward(100)t.left(90)t.forward(100)t.left(90)t.forward(100)t.left(90)```这段代码就是使用海龟绘制了一个正方形。
海龟绘图(TurtleGraphics)python2.6版本中后引⼊的⼀个简单的绘图⼯具,叫做海龟绘图(Turtle Graphics),turtle库是python的内部库,使⽤导⼊即可import turtle先说明⼀下turtle绘图的基础知识:1. 画布(canvas)画布就是turtle为我们展开⽤于绘图区域, 我们可以设置它的⼤⼩和初始位置1.1 设置画布⼤⼩turtle.screensize(canvwidth=None, canvheight=None, bg=None)参数分别为画布的宽(单位像素), ⾼, 背景颜⾊如:turtle.screensize(800, 600, "green")turtle.screensize() #返回默认⼤⼩(400, 300)turtle.setup(width=0.5, height=0.75, startx=None, starty=None)参数:width, height: 输⼊宽和⾼为整数时, 表⽰像素; 为⼩数时, 表⽰占据电脑屏幕的⽐例(startx, starty): 这⼀坐标表⽰矩形窗⼝左上⾓顶点的位置, 如果为空,则窗⼝位于屏幕中⼼如:turtle.setup(width=0.6, height=0.6)turtle.setup(width=800, height=800, startx=100, starty=100)2. 画笔2.1 画笔的状态在画布上,默认有⼀个坐标原点为画布中⼼的坐标轴, 坐标原点上有⼀只⾯朝x轴正⽅向⼩乌龟. 这⾥我们描述⼩乌龟时使⽤了两个词语:坐标原点(位置),⾯朝x轴正⽅向(⽅向), turtle绘图中, 就是使⽤位置⽅向描述⼩乌龟(画笔)的状态2.2 画笔的属性画笔(画笔的属性,颜⾊、画线的宽度)1) turtle.pensize():设置画笔的宽度;2) turtle.pencolor(); 没有参数传⼊,返回当前画笔颜⾊,传⼊参数设置画笔颜⾊,可以是字符串如"green", "red",也可以是RGB 3元组,>>> pencolor('brown')>>> tup = (0.2, 0.8, 0.55)>>> pencolor(tup)>>> pencolor()'#33cc8c'3) turtle.speed(speed): 设置画笔移动速度,画笔绘制的速度范围[0,10]整数, 数字越⼤越快2.3 绘图命令操纵海龟绘图有着许多的命令,这些命令可以划分为3种:⼀种为运动命令,⼀种为画笔控制命令,还有⼀种是全局控制命令(1)画笔运动命令:命令说明turtle.forward(distance)向当前画笔⽅向移动distance像素长turtle.backward(distance)向当前画笔相反⽅向移动distance像素长度turtle.right(degree)顺时针移动degree°turtle.left(degree)逆时针移动degree°turtle.pendown()移动时绘制图形,缺省时也为绘制turtle.goto(x,y)将画笔移动到坐标为x,y的位置turtle.penup()移动时不绘制图形,提起笔,⽤于另起⼀个地⽅绘制时⽤turtle.speed(speed)画笔绘制的速度范围[0,10]整数命令说明(2)画笔控制命令:命令说明turtle.pensize(width)绘制图形时的宽度turtle.pencolor()画笔颜⾊turtle.fillcolor(colorstring)绘制图形的填充颜⾊turtle.color(color1, color2)同时设置pencolor=color1, fillcolor=color2turtle.filling()返回当前是否在填充状态turtle.begin_fill()准备开始填充图形turtle.end_fill()填充完成;turtle.hideturtle()隐藏箭头显⽰;turtle.showturtle()与hideturtle()函数对应(3) 全局控制命令命令说明turtle.clear()清空turtle窗⼝,但是turtle的位置和状态不会改变turtle.reset()清空窗⼝,重置turtle状态为起始状态turtle.undo()撤销上⼀个turtle动作turtle.isvisible()返回当前turtle是否可见stamp()复制当前图形turtle.write(s[,font=("font-name",font_size,"font_type")])写⽂本,s为⽂本内容,font是字体的参数,⾥⾯分别为字体名称,⼤⼩和类型;font为可选项, font的参数也是可选项3. 命令详解3.1 turtle.circle(radius, extent=None, steps=None)描述: 以给定半径画圆参数:radius(半径); 半径为正(负),表⽰圆⼼在画笔的左边(右边)画圆extent(弧度) (optional);steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps)举例:circle(50) # 整圆;circle(50,steps=3) # 三⾓形;circle(120, 180) # 半圆4. 绘图举例4.1 太阳花import turtle as timport timet.color("red", "yellow")t.speed(10)t.begin_fill()for _ in range(50):t.forward(200)t.left(170)end_fill()time.sleep(1)4.2 绘制⼩蟒蛇import turtledef drawSnake(rad, angle, len, neckrad):for _ in range(len):turtle.circle(rad, angle)turtle.circle(-rad, angle)turtle.circle(rad, angle/2)turtle.circle(neckrad, 180)turtle.forward(rad/4)if __name__ == "__main__":turtle.setup(1500, 1400, 0, 0)turtle.pensize(30) # 画笔尺⼨turtle.pencolor("green")turtle.seth(-40) # 前进的⽅向drawSnake(70, 80, 2, 15)4.3 绘制五⾓星import turtleimport timeturtle.pensize(5)turtle.pencolor("yellow")turtle.fillcolor("red")turtle.begin_fill()for _ in range(5):turtle.forward(200)turtle.right(144)turtle.end_fill()time.sleep(2)turtle.penup()turtle.goto(-150,-120)turtle.color("violet")turtle.write("Done", font=('Arial', 40, 'normal'))time.sleep(1)4.4 ⼩猪佩奇感谢的⼩猪佩奇, 很传神:)#!/usr/bin/python# -*- coding: utf-8 -*-"""@time :2018/10/10 10:18@author: yang.bin"""# coding:utf-8import turtle as t# 绘制⼩猪佩奇# ======================================= t.pensize(4)t.hideturtle()t.colormode(255)t.color((255, 155, 192), "pink")t.setup(840, 500)t.speed(10)# ⿐⼦t.penup()t.goto(-100,100)t.pendown()t.seth(-30)t.begin_fill()a = 0.4for i in range(120):if 0 <= i < 30 or 60 <= i < 90:a = a+0.08t.left(3) # 向左转3度t.forward(a) # 向前⾛a的步长else:a = a-0.08t.forward(a)t.end_fill()t.penup()t.seth(90)t.forward(25)t.seth(0)t.forward(10)t.pendown()t.pencolor(255, 155, 192)t.seth(10)t.begin_fill()t.circle(5)t.color(160, 82, 45)t.end_fill()t.penup()t.seth(0)t.forward(20)t.pendown()t.pencolor(255, 155, 192)t.seth(10)t.begin_fill()t.circle(5)t.color(160, 82, 45)t.end_fill()# 头t.color((255, 155, 192), "pink") t.penup()t.seth(90)t.forward(41)t.seth(0)t.forward(0)t.pendown()t.begin_fill()t.seth(180)t.circle(300, -30)t.circle(100, -60)t.circle(80, -100)t.circle(150, -20)t.circle(60, -95)t.seth(161)t.circle(-300, 15)t.penup()t.goto(-100, 100)t.pendown()t.seth(-30)a = 0.4for i in range(60):if 0 <= i < 30 or 60 <= i <90:a = a+0.08t.left(3) # 向左转3度t.forward(a) # 向前⾛a的步长 else:a = a-0.08t.left(3)t.forward(a)t.end_fill()# ⽿朵t.color((255, 155, 192), "pink") t.penup()t.seth(90)t.forward(-7)t.seth(0)t.forward(70)t.circle(-50, 50)t.circle(-10, 120)t.circle(-50, 54)t.end_fill()t.penup()t.seth(90)t.forward(-12)t.seth(0)t.forward(30)t.pendown()t.begin_fill()t.seth(100)t.circle(-50, 50)t.circle(-10, 120)t.circle(-50, 56)t.end_fill()#眼睛t.color((255, 155, 192), "white") t.penup()t.seth(90)t.forward(-20)t.seth(0)t.forward(-95)t.pendown()t.begin_fill()t.circle(15)t.end_fill()t.color("black")t.penup()t.seth(90)t.forward(12)t.seth(0)t.forward(-3)t.pendown()t.begin_fill()t.circle(3)t.end_fill()t.color((255, 155, 192), "white") t.penup()t.seth(90)t.forward(-25)t.seth(0)t.forward(40)t.pendown()t.begin_fill()t.circle(15)t.end_fill()t.color("black")t.penup()t.seth(90)t.forward(12)t.seth(0)t.forward(-3)t.pendown()t.begin_fill()t.circle(3)t.end_fill()# 腮t.color((255, 155, 192))t.seth(0)t.forward(65)t.pendown()t.begin_fill()t.circle(30)t.end_fill()# 嘴t.color(239, 69, 19)t.penup()t.seth(90)t.forward(15)t.seth(0)t.forward(-100)t.pendown()t.seth(-80)t.circle(30, 40)t.circle(40, 80)# ⾝体t.color("red", (255, 99, 71))t.penup()t.seth(90)t.forward(-20)t.seth(0)t.forward(-78)t.pendown()t.begin_fill()t.seth(-130)t.circle(100,10)t.circle(300,30)t.seth(0)t.forward(230)t.seth(90)t.circle(300,30)t.circle(100,3)t.color((255,155,192),(255,100,100)) t.seth(-135)t.circle(-80,63)t.circle(-150,24)t.end_fill()# ⼿t.color((255,155,192))t.penup()t.seth(90)t.forward(-40)t.seth(0)t.forward(-27)t.pendown()t.seth(-160)t.circle(300,15)t.penup()t.seth(90)t.forward(15)t.seth(0)t.forward(0)t.pendown()t.seth(-10)t.circle(-20,90)t.penup()t.seth(90)t.forward(30)t.seth(0)t.circle(-300,15)t.penup()t.seth(90)t.forward(20)t.seth(0)t.forward(0)t.pendown()t.seth(-170)t.circle(20,90)# 脚t.pensize(10)t.color((240,128,128)) t.penup()t.seth(90)t.forward(-75)t.seth(0)t.forward(-180)t.pendown()t.seth(-90)t.forward(40)t.seth(-180)t.color("black")t.pensize(15)t.forward(20)t.pensize(10)t.color((240, 128, 128)) t.penup()t.seth(90)t.forward(40)t.seth(0)t.forward(90)t.pendown()t.seth(-90)t.forward(40)t.seth(-180)t.color("black")t.pensize(15)t.forward(20)# 尾巴t.pensize(4)t.color((255, 155, 192)) t.penup()t.seth(90)t.forward(70)t.seth(0)t.forward(95)t.pendown()t.seth(0)t.circle(70, 20)t.circle(10, 330)t.circle(70, 30)t.done()。
turtle方法§§ 1000# turtle方法## 1、turtle方法简介Turtle 方法,又称“海龟绘图”,是一种基于 Python 的图形编程语言,它是一种工具,用于快速绘制图像,如矩阵图、极坐标图等。
Turtle 方法的优势在于可以轻松地通过计算机编程完成曲线、线段、图形和文本的绘制,因此,它是一种很有用的方法用于数学可视化和图像绘制。
## 2、turtle方法的用法Turtle 方法可通过Python编程来实现,主要的指令有:* `forward()`:向前移动的距离* `backward()`:向后移动的距离* `right()`:向右转动的角度* `left()`:向左转动的角度* `penup()`:抬起画笔,不绘制图形* `pendown()`:落下画笔,绘制图形* `goto()`:移动到指定的坐标* `dot()`:画一个圆点示例:§§ 1020```from turtle import * # 设置线条粗细:width(4)# 前进:forward(200)# 后退:backward(100)# 左转:left(90)# 右转:right(45)# 画点:dot(20)§§ 1040# 抬起画笔:penup()# 落下画笔:pendown()# 移动到:goto(100,100)```## 3、turtle方法的应用Turtle 方法广泛的应用在科学及数学方面,例如绘制曲线、轨迹、格子和三维图形,其他应用还包括:* 绘制动画* 教孩子编程* 装饰文本* 绘制复杂图形* 创建游戏§§ 1060## 4、总结Turtle 方法是一种基于 Python 的图形编程语言,它可以让我们轻松使用计算机编程绘制各种图形,应用广泛,是一种非常有用的绘图方法。
绘制第一个海龟图形功能要求导入海龟模块、创建画笔、移动和旋转画笔等,绘制线段和正方形。
相关要点(1)导入海龟绘图模块(2)创建画笔(3)向前移动(4)画笔旋转实例代码运行结果知识说明海龟绘图(turtle)是Python内置的一个趣味模块。
使用这个模块通过代码创建视觉效果,也可以通过代码影响海龟的移动。
import turtle:将“海龟”导入程序。
Python中import语句的作用是,将Python中自带的或其他编程人员编写好的程序模块导入到自己的程序中使用。
Python一个优势是拥有庞大的模块库。
t=turtle.Pen():让海龟“拿起画笔”。
turtle.Pen()是海龟的画笔(P必须大写),在这里使用t代表海龟的画笔【t被称为“变量”,也可以去其他的名字代替turtle.Pen()】t.forward(100):让海龟移动100步(默认向右移动),其中t代替前面定义的turtle.Pen()。
运行结果的图中,黑色的小三角是小海龟。
三角后面的直线就是小海龟前进的轨迹。
知识说明在使用Python turtle画图时,画完图形窗口一下子消失,退出窗口的几个解决方法:第一种方法:在程序的最后面加上:turtle.exitonclick(),该语句让程序等待用户点击界面后才能够退出第二种方法:在程序的最后面加上:turtle.mainloop(),该语句必须放到最后一句,该句子后面的所有代码都无法执行第三种方法:在程序的最后面加上:turtle.done(),该语句的功能和mainloop(),差不多。
改变海龟的方向功能要求让海龟向右转弯,右转90°。
实例代码运行结果知识说明:right():表示向右转;left():表示向左转,括号里面填写旋转的角度。
right(90)表示向右旋转90°。
海龟画正方形功能要求继续添加代码,将“前进100步”和“向右转90°”重复3遍。
海龟制图知识点归纳总结海龟制图(Turtle Graphics)是一种基于图形绘制的编程语言,最初由美国计算机科学家西蒙斯·帕帕特雷在1969年设计。
海龟制图是一种直观的图形绘制方式,通过控制一个抽象的海龟在二维平面上移动并绘制图形,使得图形绘制过程更加直观和易于理解。
海龟制图不仅可以用来进行简单的图形绘制,还可以通过编程控制实现复杂的图形和动画效果。
以下是海龟制图的一些重要知识点的归纳总结。
1. 海龟制图基本命令海龟制图的基本命令包括前进(forward)、后退(backward)、转向(turn)、抬起画笔(penup)、放下画笔(pendown)等。
这些基本命令可以通过编程控制海龟在平面上移动并绘制图形。
2. 海龟制图坐标系海龟制图使用的坐标系和普通的平面直角坐标系类似,原点位于平面的中心点,水平方向为x轴,竖直方向为y轴。
不同的是,海龟制图将坐标系细分为四个象限,海龟的初始方向为向右(即x轴正方向),转向的角度为正值表示向左转,负值表示向右转。
3. 海龟制图画笔状态海龟制图的画笔有两种状态:抬起和放下。
抬起画笔时,海龟移动不会绘制图形;放下画笔时,海龟移动会绘制图形。
通过控制画笔状态,可以实现图形的绘制和擦除。
4. 海龟制图的颜色海龟制图可以控制画笔的颜色,包括绘制时的颜色和擦除时的颜色。
通过设置画笔的颜色,可以绘制出具有丰富色彩的图形效果。
5. 海龟制图的循环和条件控制海龟制图支持循环和条件控制语句,通过编程控制海龟的移动和绘制过程。
循环控制可以重复执行相同的语句块,条件控制可以根据条件判断执行不同的语句块,使得海龟制图的编程更加灵活和高效。
6. 海龟制图的函数和过程海龟制图支持函数和过程的定义和调用,通过封装重复使用的代码块,可以使得海龟制图的编程更加模块化和可维护。
7. 海龟制图的动画效果海龟制图可以通过控制海龟的移动和绘制过程,实现丰富多彩的动画效果。
通过使用循环控制和函数调用,可以实现复杂的动画效果。
Python趣味编程-turtle海龟绘图实用案例绘制多种有趣图形拓展练习一、Turtle海龟绘图-绘制彩色螺旋线import turtlet = turtle.Turtle()#设置画笔速度和大小t.speed(10)t.pensize(2)#列表存放螺旋线的颜色colors = ["red", "yellow", 'purple', 'blue']for x in range(400):t.forward(2*x)t.color(colors[x%4])#取余得到0,1,2,3对应列表下标获取颜色t.left(91)二、Turtle海龟绘图-绘制中国结import turtlet = turtle.Turtle()#画一个中国结#设置画笔属性t.pensize(5)t.pencolor('red')#设置起始方向t.seth(-45)#开始第一个线条绘制for i in range(3):t.forward(102)t.circle(-6,180)t.forward(102)t.circle(6,180)#换方向,画另外一边t.forward(92)t.circle(-6,270)t.forward(92)#调整之后另一边for j in range(3):t.circle(6,180)t.forward(102) 彩色螺旋线最美中国结t.circle(-6,180)t.forward(102)#开始画中国结上方的图案t.forward(8)t.seth(135)for k in range(4):t.forward(20)t.left(90)#最上方正方形t.seth(135)t.fillcolor('red')t.begin_fill()t.fd(20)for h in range(4):t.fd(30)t.right(90)t.end_fill()#挂钩部分t.seth(90)t.fd(40)t.pensize(10)t.fd(10)t.pensize(5)t.seth(105)t.fd(30)t.circle(-8,240)t.circle(20,20)t.fd(5)t.circle(20,60)t.fd(25)#还原坐标t.pu()t.home()t.goto(2,-127)t.pd()#下方流苏长方形t.pensize(5)t.fillcolor('red')t.begin_fill()t.seth(0)for g in range(2):t.fd(15)t.right(90)t.fd(10)t.right(90)t.end_fill()#绘制流苏t.fd(15)t.pensize(2)for i in range(6):t.seth(-90)t.fd(60)t.pu()t.seth(90)t.fd(60)t.seth(180)t.fd(3)t.pd()#隐藏画笔t.hideturtle()三、Turtle海龟绘图-绘制爱心表白import turtlet= turtle.Turtle()t.speed(6)t.color('black', 'pink')# 画笔颜色t.pensize(8)#画笔粗细#画左边的小人t.circle(35)t.right(90)t.forward(100)t.left(90)t.forward(60)t.right(90)爱心表白t.forward(80)#后腿(0,-100)t.pu()t.goto(0,-100)t.pd()t.right(45)t.forward(100)#手部t.pu()t.home()#还原到初始位置t.pd()t.goto(0,-40)t.forward(100)t.left(45)t.forward(30)t.pu()t.goto(0,-60)t.pd()t.right(45)t.forward(100)t.right(45)t.forward(30)t.pu()t.home()#画爱心t.color('red', 'red')t.begin_fill()t.up()t.goto(150, -30)t.down()t.right(90)t.forward(30)t.left(90)t.forward(30)t.left(45)t.circle(10.6,180)t.left(180)t.circle(10.6,180)#隐藏画笔t.hideturtle()四、Turtle海龟绘图-绘制太阳花import turtlet = turtle.Turtle()#画一朵太阳花#设置画笔速度和颜色t.speed(10)t.color('red','yellow')t.begin_fill()#开始填充for i in range(50):t.forward(200)t.left(170)太阳花t.end_fill()#结束填充t.hideturtle()五、Turtle海龟绘图-绘制彩色正方形import turtlet = turtle.Turtle()#绘制彩色正方形for c in ['red', 'green', 'yellow', 'blue']: t.color(c)t.forward(75)t.left(90)#隐藏画笔t.hideturtle()六、Turtle海龟绘图-绘制快乐星球import turtlet = turtle.Turtle()#一个快乐星球t.color('blue','blue')t.begin_fill()t.circle(-40)t.end_fill()#一条银河t.pu()t.goto(-60,-20)t.right(40)t.pd()t.pencolor('yellow')t.pensize(3)t.circle(200,40)t.circle(4,160)t.right(15)t.circle(250,8)t.pu()t.circle(250,18)t.pd()t.circle(250,5)t.circle(4,160)#左下方星星t.pu()t.goto(-60,-60)t.pd()for i in range(5):t.fd(15)t.right(144)#右下方星星t.pu()t.goto(40,-80)t.pd()t.seth(-45) 彩色正方形快乐星球t.pensize(2)for i in range(5):t.fd(10)t.right(144) #画下方圆t.pu()t.goto(-40,-100) t.pd()t.circle(5)t.pu()t.goto(-10,-90) t.pd()t.circle(2)#画上方圆t.pu()t.goto(40,-10) t.pd()t.circle(10)t.pu()t.goto(65,8)t.pd()t.circle(6)t.pu()t.goto(-10,5)t.pd()t.circle(5)t.hideturtle()。
绘制花瓣功能要求使用海龟模块,利用循环嵌套、图形填充颜色的基本方法,绘制花朵。
相关要点(1)设置画笔颜色和填充颜色(2)填充颜色(3)移动画笔(4)抬笔(5)落笔(6)for循环(7)循环嵌套实现分析花瓣可以简单的看成由两个圆弧组成,绘制花瓣时,可以通过绘制两个对称的圆弧来实现。
圆弧实际上由很多小的线段组成,绘制线段是不断地旋转画笔即可。
实例代码实现分析for x in range(90)::用for循环绘制圆弧。
每次循环时都会绘制一个1步的线段,并让画笔向右旋转1°。
t.forward(1):向前移动1步。
t.right(1):向右转动1°。
接下去画笔旋转90°,绘制同样的圆弧。
运行结果实例代码代码分析利用两个for循环绘制出两个圆弧,组成一个花瓣形状。
画圆弧的循环代码执行了两次,之前画圆弧的代码。
画相同的一个圆弧。
运行结果实例代码代码分析画圆弧的for循环。
程序执行过程:1)首先导入海龟绘图模块,将变量t设置为海龟的画笔。
2)执行“for y in range(2)”语句,开始执行for循环,此for循环执行2次后结束循环。
第一次循环时,for循环先访问range列表中第一个元素0,并将0存储在变量y中,变量y的值变为0。
3)执行for循环内部的语句(缩进部分)。
先执行“for x in range(90)”语句,此for循环执行90次后结束。
第1次循环时,访问range列表中的第一个元素0,并将0存储在变量x中,变量x的值变为0。
然后执行第二个for循环内的语句(下一个缩进部分),先执行“t.forward(1)”语句画笔向前移动1步,在执行“t.right(1)”语句,画笔向右转动1°。
然后进行第二个for循环(内循环),变量x的值变为1,画笔向前移动1步,向右转动1°。
这样一直循环,指导第90次循环,变量x的值变为89,画笔向前移动1步,向右移动1°,结束第二个for循环,画出一段弧线。