#sin60/sin65=0.9555533077963
#sin55/sin65=0.9038342779414
import turtle as t
def s(a,b): #a(初始线段长度-初始等边三角形边长),b(三角形内线段总数)
t.fd(a)
t.lt(120)
t.fd(a)
t.lt(120)
t.fd(a)
t.lt(125)
c=3*a
d=3
for i in range(1,b+1):
if i%3==1:
t.fd(a*0.9555533077963)
t.lt(120)
a*=0.9555533077963
c+=a
d+=1
elif i%3==2:
t.fd(a*0.9038342779414)
t.lt(120)
a*=0.9038342779414
c+=a
d+=1
else:
t.fd(a)
t.lt(125)
a=a
c+=a
d+=1
return a,c,d #a(最后一次线段长度),c(所有线段长度之和,包括初始三角形的线段),d(线段总数,包括初始三角形的线段)
t.speed(10)
ch=s(300,70)
print(ch)
print(ch[0])
python-turtle(小作品)
最新推荐文章于 2024-05-13 09:07:57 发布