绘制多角形--课后程序(Python程序开发案例教程-黑马程序员编著-第8章-课后作业)
创始人
2024-06-02 01:39:14

实例2:绘制多角星

如果你喜欢作画,一定要尝试一下Python的内置模块——turtle模块,turtle是一个专门的绘图模块,你可以利用该模块通过程序绘制一些简单图形。

本实例要求编写程序,使用turtle模块绘制一个如图1所示的多角星。

 

        1. 多角星示例

实例目标

  1. 掌握模块的导入方式
  2. 掌握turtle模块的基本用法

实例分析

本实例的多角星需要借用turtle模块,大家可自行从官方文档中(https://docs.python.org/3.7/library/turtle.html#turtle.pos)了解turtle模块的基本用法,了解之后便可以使用turtle模块中的相关函数进行绘制。

绘制多角星的功能可以视为将画笔沿逆时针方向旋转固定角度画直线(黑色)的操作,直到当前位置的绝对值小于1时就结束绘图,之后在画好的图形上填充颜色(红色)即可。此多角星绘制的过程中涉及到的turtle模块中的函数及说明如下:

  1. color():设置画笔颜色和填充颜色。
  2. begin_fill():开始填充。
  3. end_fill():停止填充。
  4. forward():将画笔向前方移动指定的距离。
  5. left():将画笔逆时针旋转指定的角度。
  6. pos():获取画笔当前的位置。
  7. done():启动事件循环,必须位于末尾位置。

代码实现

完整的代码如下所示:

import turtle as t

t.color('black', 'red')   # 设置画笔颜色、填充颜色

t.setup(450, 400)          # 设置主窗口的大小为450*400

t.begin_fill()              # 在绘制要填充的形状之前调用

while True:

    t.forward(150)         # 将当前画笔移动150个像素

    t.left(150)             # 将当前画笔逆时针旋转150度

    if abs(t.pos()) < 1:  # 若当前位置的绝对值小于1则跳出循环

        break

t.end_fill()                # 结束填充

t.done()                     # 停止画笔绘制,窗体不关闭

以上代码首先使用import语句导入了turtle模块,并起别名为t,其次调用color()函数分别设置了画笔颜色与填充颜色,调用setup()函数设置主窗口的大小,然后使用while语句绘制多角星:将当前画笔移动150像素画直线,逆时针旋转150度,判断当前画笔所处位置的绝对值是否小于1,小于1则结束循环,不小于1则重复上述步骤,最后调用done()函数停止绘制,保持主窗口不关闭。

代码测试

运行程序,绘制过程如图2所示。

        1. 多角星绘制过程

相关内容

热门资讯

苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
阿西吧是什么意思 阿西吧相当于... 即使你没有受到过任何外语培训,你也懂四国语言。汉语:你好英语:Shit韩语:阿西吧(아,씨발! )日...