最后自己尝试写一个完整的应用题
题目一:绘制爱心
使用turtle库绘制轮廓颜色为红色(red),填充颜色为粉红色(pink)的心形图形,效果如下图,阅读程序框架,补充代码【x】 处代码。
from turtle import *
speed(9)
color('red', 【1】)
【2】
pendown()
left(135)
fd(100)
right(180)
circle(50, -180)
left(90)
circle(50, -180)
right(180)
fd(100)
end_fill()
hideturtle()
done()
分析题目:
第一个空:'pink'
绘制轮廓颜色为红色(red),填充颜色为粉红色(pink)所以得到的代码指令为:color('red','pink')
第二个空:begin_fill()
题目代码中并没有看到填充开始命令,而后面有填充完成命令(end_fill())所以第二个空应该是填充开始命令。
知识点补充:
turtle.speed() 设置画笔的移动速度,画笔绘制的速度范围[0,10]的整数,数字越大越快
turtle.color(color1,color2) 同时设置pencolor=color1,fillcolor=color2 设置画笔颜色和填充颜色
turtle.begin_fill() 准备开始填充图形
turtle.end_fill() 填充完成
turtle.hideturtle() 隐藏箭头显示
turtle.done() 暂停程序,停止画笔绘制,但绘图窗体不关闭,直到用户关闭Python Turtle图形化窗口为止.
题目二:绘制红色五角星
使用turtle库绘制红色五角形,效果如下图所示。阅读程序框架,补充【X】处代码。
from turtle import *
【1】
goto(-100, 50)
pendown()
color("red")
begin_fill()
for i in range(5):
forward(200)
【2】
end_fill()
hideturtle()
分析题目:
第一个空:penup()
第二个空:right(144) 主要是要知道内角是多少,才好控制海龟的方向
题目三:绘制正文形螺旋线
使用turtle库绘制正文形螺旋线,效果如下图所示,阅读程序框架,补充【X】片代码
import turtle
n = 10
for i in range(1, 10, 1):
for j in [90, 180, -90, 0]:
turtle.seth(【1】)
turtle.fd(【2】)
n += 5
分析题目:
双重循环:外循环是从1开始到(10-1)范围递增为1
内循环为在列表[90,180,-90,0]中循环
第一个空:j
改变海龟当前行进方向
第二个空:n
向前行进距离
题目三:绘制简单城市剪影图形
- 使用turtle库绘制简单城市剪影图形,效果如下图所示,阅读程序框架,补充【X】片代码。
import turtle
turtle.penup()
turtle.fd(-350)
turtle.pendown()
def DrawLine(【1】):
for angle in [0, 90, -90, -90, 90]:
turtle.left(angle)
turtle.fd(size)
for i in [20, 30, 40, 50, 40, 30, 20]:
【2】
turtle.hideturtle()
turtle.done()
题目分析:
第一个空:size
DrawLine()函数中,angle在列表中循环,表示海龟向左旋转的角度,那么就不难看出fd(size)表示向前行进size的距离,size变量只能来自函数变量中DrawLine(size)
第二个空:DrawLine(i)
看一遍整个代码发现函数还没有被调用,循环变量i作为函数变量。
题目四:绘制同心圆图形
使用turtle库绘制同心圆图形,效果如下图所示,阅读程序框架,补充【X】片代码。
【1】
def DrawCctCircle(n):
t.penup()
t.goto(0, -n)
t.pendown()
【2】
for i in range(20, 100, 20):
DrawCctCircle(i)
题目分析:
第一个空:导入库并将库名简写为t
import turtle as t
第二个空:题目要求为画圆,但是在代码中缺少进行曲线运动的指令,n为圆心
t.circle(n)
题目五:绘制钢琴键示意图形
使用turtle库绘制钢琴键示意图形,效果如下图所示,阅读程序框架,补充【X】片代码。
import turtle as t
# t.setup(500, 300)
t.speed(9)
t.penup()
【1】 # 将画笔移到绝对位置(-180, -50)处
【2】# 画笔落下
def Drawrect():
t.fd(40)
t.left(90)
t.fd(120)
t.left(90)
t.fd(40)
t.left(90)
t.fd(120)
t.penup()
t.left(90)
t.fd(42)
t.pendown()
for i in range(7):
Drawrect()
t.penup()
t.goto(-150, 0)
t.pendown()
def DrawRectBlack():
t.color('black')
t.begin_fill()
t.fd(30)
t.left(90)
t.fd(70)
t.left(90)
t.fd(30)
t.left(90)
t.fd(70)
t.end_fill()
t.penup()
t.left(90)
t.fd(40)
t.pendown()
DrawRectBlack()
DrawRectBlack()
t.penup()
t.fd(48)
t.pendown()
DrawRectBlack()
DrawRectBlack()
DrawRectBlack()
t.hideturtle()
t.done()
题目分析:
第一个空:将画笔移到绝对位置的指令为.goto()
t.goto(-180,-50)
第二个空:将画笔落下的指令为:.down()
t.down()
题目六:绘制十字架
# 请在______处使用一行代码或表达式替换
#
# 注意:请不要修改其他已给出代码
import turtle
for i in range(4):
turtle.fd(100)
___(1)___(-100)
___(2)___((i+1)*90)
题目分析
第一个空:代码中向前了100,下一个空就是-100,不难猜出是想返回起点
turtle.fd
第二个空:回到起点后就是转向,我尝试了一下,想左或者向右都能有一样的效果。
turtle.right
题目六:绘制等边三角形
# 请在______处使用一行代码或表达式替换
#
# 注意:请不要修改其他已给出代码
import turtle as ___(1)___
for i in range(___(2)___):
___(3)___(i*120)
t.fd(200)
题目分析:
第一个空:通过看下面的代码不难看出
t
第二个空:三角形一共也就三条边,而循环范围是0到n-1,所以是三
3
第三个空:为调整海龟的行进方向,从乘以120来看seth()函数比较适合
t.seth
题目七:画圆
# 请在______处补充一行代码
# 请不要修改其他代码
import turtle as t
for i in range(4):
(1) _____________________
t.left(90)
t.penup()
(2)___________________
t.pendown()
(3)___________________
t.pensize(5)
t.begin_fill()
(4)_________________
(5)_________________
t.done()
这个就作为思考吧,自己也可以尝试做一做,后续还会有更新