【真题】青少年软件编程(Python一级)编程题:绘制图形

梁老师
梁老师 北京小升初老师~

0 人点赞了该文章 · 67 浏览





1此题目来自2021年06月电子学会青少年软件编程Python等级考试试卷(一级) 37题:绘制图形

图片

1、题目:绘制如下图形,相关参数及要求如下:

图片

(1)画笔起始位置不限,但是整个图形必须要能够在画布中呈现;

(2)大的正方形由四个小正方形组成;

(3)每个小正方形的边长均为100像素;

(4)左上角和右下角的正方形填充颜色均为黑色;

(5)所有的线条颜色均为黑色;

(6)绘制完成后,隐藏画笔。

3、答案

注意:仅供参考,考生可以自行设计,结果符合题目即可。

import turtle as t

for i in range(4):
    t.forward(200)
    t.right(90)

t.fillcolor('black')
t.begin_fill()
for i in range(4):
    t.forward(100)
    t.right(90)
t.end_fill()

t.penup()
t.goto(100-100)
t.pendown()

t.begin_fill()
for i in range(4):
    t.forward(100)
    t.right(90)
t.end_fill()

t.hideturtle()
turtle.done()

评分标准:

(1)有turtle库导入;(2分)

(2)有绘制正方形;(2分)

(3)有填充颜色;(2分)

(4)绘制正方形4个;(8分)(每个2分)

(5)颜色填充正确;(4分)(每填充正确一个2分)

(6)隐藏画笔;(2分)

知识点:

(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)右转:right()/rt()

turtle.right(angle)
turtle.rt(angle)
  • angle -- 一个数值 (整型或浮点型)

海龟右转 angle 个单位。(单位默认为角度,但可通过 degrees() 和 radians() 函数改变设置。) 角度的正负由海龟模式确定,参见 mode()

【例子】

>>> turtle.heading()
22.0
>>> turtle.right(45)
>>> turtle.heading()
337.0

(3)前往/定位:goto()/setpos()/setposition()

turtle.goto(x, y=None)
turtle.setpos(x, y=None)
turtle.setposition(x, y=None)

海龟移动到一个绝对坐标,如果画笔已落下将会画线,不改变海龟的朝向。

  • x -- 一个数值或数值对/向量
  • y -- 一个数值或 None

如果 y 为 Nonex 应为一个表示坐标的数值对或 Vec2D 类对象 (例如 pos() 返回的对象)。

【例子】

>>> tp = turtle.pos()
>>> tp
(0.00,0.00)
>>> turtle.setpos(60,30)
>>> turtle.pos()
(60.00,30.00)
>>> turtle.setpos((20,80))
>>> turtle.pos()
(20.00,80.00)
>>> turtle.setpos(tp)
>>> turtle.pos()
(0.00,0.00)

(4)画笔落下:pendown()/pd()/down()

turtle.pendown()
turtle.pd()
turtle.down()

画笔落下 -- 移动时将画线。

(5)画笔抬起:penup()/pu()/up()

turtle.penup()
turtle.pu()
turtle.up()

画笔抬起 -- 移动时不画线。

(6)填充颜色:fillcolor()

返回或设置填充颜色。

turtle.fillcolor(*args)
  • turtle.fillcolor:返回以颜色描述字符串或元组表示的当前填充颜色。
  • turtle.fillcolor(colorstring):设置填充颜色为 colorstring 指定的颜色描述字符串,例如 "red"、"yellow" 或 "#33cc8c"。
  • turtle.fillcolor((r, g, b)):设置填充颜色为以 r, g, b 元组表示的 RGB 颜色。
  • turtle.fillcolor(r, g, b):设置填充颜色为 r, g, b 表示的 RGB 颜色。

【例子】

>>> turtle.fillcolor("violet")
>>> turtle.fillcolor()
'violet'
>>> turtle.colormode(255)
>>> turtle.fillcolor((50193143))  # Integers, not floats
>>> turtle.fillcolor()
(50.0193.0143.0)
>>> turtle.fillcolor('#ffffff')
>>> turtle.fillcolor()
(255.0255.0255.0)

(7)开始填充:begin_fill()

turtle.begin_fill()

在绘制要填充的形状之前调用。要配合turtle.end_fill()使用。

(8)结束填充:end_fill()

turtle.end_fill()

填充上次调用 begin_fill() 之后绘制的形状。要配合turtle.begin_fill()使用。

【例子】

>>> turtle.color("black""red")
>>> turtle.begin_fill()
>>> turtle.circle(80)
>>> turtle.end_fill()
图片


添加 家长论坛微信 



发布于 2024-04-25 08:57

免责声明:

本文由 梁老师 原创发布于 家长帮 ,著作权归作者所有。

登录一下,更多精彩内容等你发现,贡献精彩回答,参与评论互动

登录! 还没有账号?去注册

暂无评论

All Rights Reserved Powered BY WeCenter V4.1.0 © 2026 京ICP备20005761号-2