Python 利用turtle模块绘制多角星--课后程序(Python程序开发案例教程-黑马程序员编著-第8章-课后作业)

任务:绘制如图所示的多角星

绘制多角星的功能可以视为将画笔沿逆时针方向旋转固定角度画直线(黑色)的操作,直到当前位置的绝对值小于1时就结束绘图,之后在画好的图形上填充颜色(红色)即可。

此多角星绘制的过程中涉及到的turtle模块中的函数及说明如下:

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

先上代码:

import turtle

turtle.color("red")
turtle.fillcolor("red")
turtle.begin_fill()
turtle.left(30)
turtle.forward(200)
for i in range(11):
    turtle.left(150)
    turtle.forward(200)
turtle.end_fill()
turtle.mainloop()

运行如下:

笔记要点:

     1.画笔对应的光标默认是在画布的中心,方向默认是水平向右。

     2.使用turtle.forward()制笔前进指定距离,移动的单位是像素,如:

turtle.forward(150)

3.turtle.left() / turtle.right()表示画笔逆时针/顺时针的旋转角度,如:

turtle.left(30)
turtle.forward(150)

表示逆时针旋转30°

思路

小学学过一笔画成五角星

要绘制任务所示的多角星就有头绪了,同理,我们也可以一笔画成12角星。

思路如下:

        1.首先求出每个角的度数:30°;

        2.让海龟(画笔)走动200像素后,逆时针旋转150°,继续走动200像素;

        3.重复步骤2十次即可。

写完后感觉不太对劲,内部并没有填充满,怀疑自己写错了,于是找了其他博文看,他们的运行后跟我的一样。估计是版本不同,我用的python3。

个人笔记,仅供参考。欢迎指正!

参考:

https://blog.csdn.net/yw1990128/article/details/129474600

https://zhuanlan.zhihu.com/p/625020413

https://docs.python.org/3.7/library/turtle.html#turtle.pos

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值