【真题】青少年软件编程(Python二级)编程题:图形的循环美
此题目来自2021年09月电子学会青少年软件编程Python等级考试试卷(二级) 37题:图形的循环美
设计一个海龟绘图程序,程序效果如下图。
要求:海龟从里往外绘制图形,线条初始长度为20,相邻两条边相差4(每一个线条均比前一个线条长4),线条颜色为红色,总共边数至少80条以上(为了便于程序调试,建议不超过120条)。
3、答案
参考程序:
import turtle
turtle.pencolor('red')
turtle.speed(8)
l = 20
for i in range(100):
turtle.forward(l)
turtle.left(90)
l += 4
turtle.done()
评分细则:
1)导入海龟模块(2分)
2)设置画笔颜色(2分)
3)设置初始长度20(2分)
4)实现80次以上的循环设计(6分)
5)实现每次线条长度加4(3分)
6)实现程序效果(5分)
知识点:
(1)前进:forward()/fd()
turtle.forward(distance)
turtle.fd(distance)
海龟前进 distance
指定的距离,方向为海龟的朝向。
distance -- 一个数值 (整型或浮点型)
【例子】
>>> turtle.position()
(0.00,0.00)
>>> turtle.forward(25)
>>> turtle.position()
(25.00,0.00)
>>> turtle.forward(-75)
>>> turtle.position()
(-50.00,0.00)
(2)左转:left()/lt():
turtle.left(angle)
turtle.lt(angle)
海龟左转 angle
个单位。
angle -- 一个数值 (整型或浮点型)
【例子】
>>> turtle.heading()
22.0
>>> turtle.left(45)
>>> turtle.heading()
67.0
(3)画笔颜色:pencolor()
turtle.pencolor(*args)
返回或设置画笔颜色。
turtle.pencolor()
:返回以颜色描述字符串或元组表示的当前画笔颜色。turtle.pencolor(colorstring)
:设置画笔颜色为 colorstring 指定的颜色描述字符串,例如 "red"、"yellow" 或 "#33cc8c"。turtle.pencolor((r, g, b))
:设置画笔颜色为以 r, g, b 元组表示的 RGB 颜色。turtle.pencolor(r, g, b)
:设置画笔颜色为 r, g, b 表示的 RGB 颜色。
【例子】
>>> turtle.colormode()
1.0
>>> turtle.pencolor()
'red'
>>> turtle.pencolor("brown")
>>> turtle.pencolor()
'brown'
>>> tup = (0.2, 0.8, 0.55)
>>> turtle.pencolor(tup)
>>> turtle.pencolor()
(0.2, 0.8, 0.5490196078431373)
>>> turtle.colormode(255)
>>> turtle.pencolor()
(51.0, 204.0, 140.0)
>>> turtle.pencolor('#32c18f')
>>> turtle.pencolor()
(50.0, 193.0, 143.0)
(4)速度:speed()
turtle.speed(speed=None)
设置海龟移动的速度为 0..10
表示的整型数值。如未指定参数则返回当前速度。
speed -- 一个 0..10 范围内的整型数或速度字符串。 无参:返回当前海龟的速度
如果输入数值大于 10 或小于 0.5 则速度设为 0。速度字符串与速度值的对应关系如下:
字符串 | 数字 | 含义 |
---|---|---|
"fastest" | 0 | 最快 |
"fast" | 10 | 快 |
"normal" | 6 | 正常 |
"slow" | 3 | 慢 |
"slowest" | 1 | 最慢 |
速度值从 1 到 10,画线和海龟转向的动画效果逐级加快。
注意: speed = 0
表示 没有动画效果。forward()/back()
将使海龟向前/向后跳跃,同样的 left()/right()
将使海龟立即改变朝向。
【例子】
>>> turtle.speed()
3
>>> turtle.speed('normal')
>>> turtle.speed()
6
>>> turtle.speed(9)
>>> turtle.speed()


添加 家长论坛微信
全部 0条评论