turtle绘制图形

Example1:

 

1 import turtle as t
2 #初始设置画笔的宽度(size)、颜色(color)
3 t.pensize(5)
4 t.pencolor("black")
5 #循环结构,减少代码
6 for i in range(4):
7     t.forward(200)
8     t.left(90)

Example2:

方法一:把上面绘制四边形的代码:行6中的4改为6即可

#方法二
import turtle as t
t.pensize(5)
t.pencolor("black")
t.right(30)
t.circle(100,steps=6)
#下面是绘制该六边形的外接圆
t.pencolor("red")
t.circle(100)

结果:

所绘制出来的六边形与题目要求的不一样的原因:用turtle.circle(r,steps=n)绘制正n多边形的时候,其“半径”默认是“海龟”视角下的正左边,即以“海龟”为原点,它头的朝向为x轴正方向,圆心在与它垂直的左边,所以绘制正n多边形跟绘制它的外接圆是一样的

先改变朝向,在绘制即可:

 

Example3:

 1 import turtle as t
 2 t.pensize(5)
 3 t.pencolor("black")
 4 for i in range(4):
 5     t.forward(150)  
 6     t.right(90)
 7     t.circle(-150,45)
 8     t.right(90)
 9     t.forward(150)
10     t.left(135)

Conclusions:

  对于规则且重复的图像,建议用“相对移动”函数:forward()backward()和“相对角度”函数:right()left(),因为这样便于用for循环。如果用“绝对移动”函数:goto()和“绝对角度”函数:setheading(),则无法用循环,每次改变位置或角度都要修改参数,比较麻烦

转载于:https://www.cnblogs.com/kenny-feng/p/11321846.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值