使用python turtle库绘制一个三角形_运用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)

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值