python少儿编程教程零基础(写给小学生的Python编程入门课)
- 一个顶点向下的三角形
- 一个顶点向上的三角形
- 一个内部的圆形
- 一个外部的圆形
如果你已经阅读过前面几篇文章,我相信你已经掌握了三角形以及圆形的绘制方法。
把它们组合起来,就是六芒星。
这里面,我还需要再给你披露一个技术细节,以规避下面这种问题。
如图:
代码:
import turtle
turtle.pensize(5)
turtle.pencolor('purple')
turtle.left(90)
turtle.forward(200)
turtle.right(90)
turtle.forward(200)
turtle.right(120)
turtle.forward(400)
turtle.right(120)
turtle.forward(400)
turtle.right(120)
turtle.forward(200)
turtle.done()
我的目标,是将画笔,移动到画布合适的位置,才开始绘制顶点向下的三角形,被我框出来的直线,是与我们图形无关的。
这里,你可以想象。
你用一支画笔,在白纸上作画。笔尖在白纸上移动,留下痕迹,是必然的对吧?
当你不想留下痕迹,那么,你的做法是把画笔抬起来,这几乎是我们的自然本能。
电脑则不然。
它是一个很耿直的家伙,如果你不对它发号施令,它自己可没有什么把画笔抬起来的本能。
所以,此处我给你披露的技术细节,包含penup()和pendown()这么两个命令。
这两个命令的名字,可以说相当直白了。pen是笔的意思,up向上,down向下,你一眼就能理解它,抬起笔,放下笔。
现在,我们使用它。
import turtle
turtle.pensize(5)
turtle.pencolor('purple')
turtle.penup()
turtle.left(90)
turtle.forward(200)
turtle.right(90)
turtle.pendown()
turtle.forward(200)
turtle.right(120)
turtle.forward(400)
turtle.right(120)
turtle.forward(400)
turtle.right(120)
turtle.forward(200)
turtle.done()
呐,现在这个图形,正是我需要的。
到你展现真正技术的时候了正所谓熟能生巧,编程更是如此。
多加练习,才能掌握这门知识。
你已经掌握了实现六芒星的所有知识,正是把它们运用起来的时候。
代码如下:
import turtle
# 设置画笔尺寸
turtle.pensize(5)
# 设置画笔颜色
turtle.pencolor('purple')
# 第一个三角形
turtle.penup()
turtle.left(90)
turtle.forward(200)
turtle.right(90)
turtle.pendown()
turtle.forward(200)
turtle.right(120)
turtle.forward(400)
turtle.right(120)
turtle.forward(400)
turtle.right(120)
turtle.forward(200)
# 第二个三角形
turtle.penup()
turtle.home()
turtle.pendown()
turtle.forward(200)
turtle.left(120)
turtle.forward(400)
turtle.left(120)
turtle.forward(400)
turtle.left(120)
turtle.forward(200)
# 第一个圆
turtle.penup()
turtle.left(90)
turtle.forward(50)
turtle.pendown()
turtle.right(90)
turtle.circle(50)
# 第二个圆
turtle.penup()
turtle.right(90)
turtle.forward(140)
turtle.pendown()
turtle.left(90)
turtle.circle(190)
# 隐藏画笔
turtle.hideturtle()
turtle.done()
本系列二十一篇文章到此,循序渐进的带你了解初级编程知识。接下来,还有中级,高级,以及算法知识。
如果您感兴趣,请保持关注。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com