python绘制饼状图带圆心距_Python turtle库教学5:把对角线对准圆心&如何等距分布...

【作业解答】

编一个画菱形函数:

def lingxing(l, degree_a, degree_b):

for _ in range(2):

t.forward(l)

t.right(degree_a)

t.forward(l)

t.right(degree_b)

lingxing(30, 60, 120)

即可!

---------------------------------------------------------进入正文-------------------------------------------------------------首先看第二个等距分布。

这……从圆心起每个转30度就好了嘛!

再看第一个对准圆心。

这……从起点起,30度——120度——60度——12度——30度这么转。

最后把二者融合。(发现作业解答里的lingxing(l, degree_a, degree_b)函数用不了)

首先走到距圆周30处,做第一个,再回到圆心,再做第二个,这样重复12次。

代码:

import turtle as t

t.setup(800, 600)

t.hideturtle()

t.speed(-1)

t.penup()

t.goto(0, -100)

t.pendown()

t.pencolor("red")

t.circle(120)

t.setheading(90)

t.penup()

t.forward(120)

t.pendown()

t.penup()

t.setheading(90)

t.forward(150)

t.pendown()

def triangle(a, b, color, degree_a, degree_b):

t.pencolor(color)

t.right(degree_a)

t.forward(a)

t.left(180 - degree_b)

t.forward(b)

triangle(30, 30, "black", 30, 120)

triangle(30, 30, "black", 240, 120)

t.penup()

t.right(30)

t.forward(150)

t.right(150)

t.pendown()

def main():

t.penup()

t.forward(150)

t.pendown()

triangle(30, 30, "black", 30, 120)

triangle(30, 30, "black", 240, 120)

t.penup()

t.right(30)

t.forward(150)

t.right(150)

t.pendown()

for _ in range(0, 11):

main()

一做,符合!

第二种思路:

前两步与第一种相同,到对面,做第二个,回来,做6次。

代码:

import turtle as t

t.setup(800, 600)

t.hideturtle()

t.speed(-1)

t.penup()

t.goto(0, -100)

t.pendown()

t.pencolor("red")

t.circle(120)

t.setheading(90)

t.penup()

t.forward(120)

t.pendown()

t.penup()

t.setheading(90)

t.forward(120)

t.forward(30)

t.pendown()

def triangle(a, b, color, degree_a, degree_b):

t.pencolor(color)

t.right(degree_a)

t.forward(a)

t.left(180 - degree_b)

t.forward(b)

triangle(30, 30, "black", 30, 120)

triangle(30, 30, "black", 240, 120)

t.penup()

t.right(30)

t.forward(300)

t.pendown()

triangle(30, 30, "black", 30, 120)

triangle(30, 30, "black", 240, 120)

t.right(30)

t.penup()

t.forward(150)

t.pendown()

# end of action1

def main():

t.right(30)

t.penup()

t.forward(150)

t.pendown()

triangle(30, 30, "black", 30, 120)

triangle(30, 30, "black", 240, 120)

t.penup()

t.right(30)

t.forward(300)

t.pendown()

triangle(30, 30, "black", 30, 120)

triangle(30, 30, "black", 240, 120)

t.right(30)

t.penup()

t.forward(150)

t.pendown()

for _ in range(5):

main()

【作业】

本期没有!

下2期会对比turtle与其他的。具体是什么,咱们下期再见!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值