python二级DAY4 turtle真题练习

最后自己尝试写一个完整的应用题

题目一:绘制爱心

使用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()

这个就作为思考吧,自己也可以尝试做一做,后续还会有更新

  • 32
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值