python turtle基本功法(四)

一、循环大法

先运行下面的代码

from turtle  import *
speed(1)
shape('turtle')
shapesize(10,10)
for i in range(2):
    lt(90)
mainloop()

运行之后,小海龟方面转了180度。我们只写了一个 lt(90),怎么会转了180度呢?这是因为我们这次写的lt(90)是在循环语句里面,而且range括号里面填了一个2。原来for循环里面的代码被重复执行了2次,所以左转了2次90度。大家可以试着把2改成4或其他的数字再运行看看效果。
大家可以尝试把以前我们用下面代码画正方形,改成用for循环实现。

from turtle import *
fd(100)
lt(90)
fd(100)
lt(90)
fd(100)
lt(90)
fd(100)
lt(90)
mainloop()

二、利用循环画美丽图形

画正六边形

from turtle  import *
pensize(4)
color('red')
for i in range(6):
    fd(100)
    lt(360/6)
mainloop()

看懂了上面的代码,你就可以很轻松的画任意正多边形了,只要改两个地方哦
我们再画一个五角星


五角星

我们分析下五角星怎么画

1.五角星五条边,那么循环五次

2.算出每次转多少角度。怎么计算?只要利用多边形内角和公式就可以了。

还记得多边形内角各公式吗,(n-2)180,n代表边数,如果是三角形,内角和(3-2)180,五角形内部是一个正五边形,内角和是(5-2)180,每个内角是(5-2)180/5
好了,我们把代码写出来。

from turtle  import *
pensize(4)
color('yellow','red')
begin_fill()
for i in range(5):
    fd(200)
    rt(2*(180-(5-3)*180/5))
end_fill()
mainloop()

再画一个下面这样的


迷宫

代码如下:

from turtle  import *
pensize(4)
color('green','red')
for i in range(20):
    fd((i+1)*10)
    rt(90)

mainloop()

这里用了fd((i+1)*10),你应该可以猜到,i在每次循环中都加了1,第一次是0,第二次是1,...最后一次是19

我们把上面的代码增加循环次数,改变转角度数

from turtle  import *
color('green')
for i in range(50):
    fd((i+1)*5)
    rt(89)

mainloop()
增加循环,改变转动度数
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 楚大人说过——没有休息的周末不能叫周末,今日便是如此。急吼吼地赶赴广州参会,会议讨论的主题就是“高血压”,到底下一...
    楚沉阅读 712评论 0 13
  • 在简书上的第一篇测试技术性文章 最近一直在研究自动化测试,关于web自动化个人使用selenlium+pyth...
    Mr_汪阅读 4,889评论 0 5
  • 你好啊! 想和你聊天,想了解你,想和你约饭,想和你看电影,甚至想和你在北京的寒风里压马路(要是你喜欢的话),北京的...
    wangyou2550阅读 156评论 0 0
  • 懵懵懂懂,小心翼翼,对一切都抱着好奇的心态,不知道下一步该怎么走,只能通过看别人的消息来判断当下的情况,就这样一直...
    一只杯子加一床被子阅读 195评论 0 0

友情链接更多精彩内容