运用Python的turtle库绘制等边三角形

我最先考虑以最简洁的方式来解决这个问题,也就是以最少代码来完成这个作业并且还要正确。
题目重点:运算turtle库里面的turtle.fd()和turtle.seth()函数,绘制等边三角形。
思路:fd控制长度,而seth则为方向角度(等边三角形内角和为180°且每个角均为60°且三条边相等,转的角度为:0°,120°,240°,长度就任意设一个值)

初次函数设计:

__author__ = 'Don'
import turtle
turtle.seth(0)
turtle.fd(100)
turtle.seth(120)
turtle.fd(100)
turtle.seth(240)
turtle.fd(100) 
turtle.done() #让最后图形暂停方便截图最后可以省略因题目效果已达到
这时候我发现了个问题这个函数太冗余了,相同的代码重复了三遍。这时候我就考虑到了简化这个代码,通过for 循环。

二次订正:

 __author__ = 'Don'
 import turtle
 for i in range(3):
     turtle.fd(100)
     turtle.seth((1+i)*120)
 turtle.done()
我定义一个i(increment 增值) 循环3次,这样我就可以把turtle.fd(100)一模一样的代码简化了,然后就是seth()函数的问题
i我给他设计了一个表达式((1+i)*120) 这样旋转的角度就可以满足三次i变换而更改的了。
但是我突然发现了一件秘密就是这次订正有个特别严重的问题,就是这个turtle的箭头结束方向错了,我开始想怎么设计
我考虑到这个seth()函数其实不是转三次的而是两次就够了,因为fd(forward)一开始就是默认0°向右直走的,所以一开始
设计seth()函数角度i为seth(i*120) 就更简介了且方向是正确的。

三次订正(最终):

import turtle
for i in range(3):
turtle.seth(i*120)
turtle.fd(100)

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页