利用turtle库绘制一个没有角的正方形与一个交叉三环图形

1、 要求:利用turtle库函数绘制一个没有角的正方形,程序运行效果如图2.10所示。

分析:由图2.10可以看出,画笔首先抬起。然后向前移动一定距离,接着画笔落下,继续向前移动一定距离,之后画笔再次抬起并向前移动一定距离,这样就可以完成一整条边的绘制。画笔向左转90°,重复刚才的步骤绘制另一条边,直到绘制完四条边后画笔回到起始位置。

实验步骤: 

1)添加并完善程序代码

        新建文件,输入以下代码,请在……处使用一行或多行代码替换。

……

for i in range(4):

……

2)保存并运行程序

        将文件保存为PY20302.py,运行程序,验证程序的正确性并观察程序执行效果。

3)提示

        本例中利用for 循环完成图形绘制,每条边的绘制画笔都要经过抬起、落下和再抬起的过程,每次抬起后移动的距离都相等,并且等于落下时移动距离的一半。

import turtle   #引入库
turtle.pensize(5)   #调整画笔粗细
turtle.pencolor("black")    #画笔颜色,参数可以为颜色的字符串,也可以为RGB值
for i in range(4):  #利用遍历循环实现重复步骤
    #抬起画笔,之后移动移动turtle不会留下痕迹,不需要函数参数
    turtle.penup()
    turtle.fd(50)   #向海龟当前的正前方运动50个像素
    turtle.pendown()    #落下画笔
    #抬起后移动的距离等于落下时移动距离的一半
    turtle.fd(100)
    turtle.penup()
    turtle.fd(50)
    turtle.pendown()
    turtle.left(90) #在当前前进方向上,向左转90度
turtle.done()   #程序运行结束后窗口不会自动关闭

2、 要求:利用turtle绘制交叉三环图形,程序运行效果如图2.11所示。

分析:由图2.11可以看出,交叉三环的颜色分别为红色、绿色和蓝色,且3个圆形的半径都相等。可以先画上面的红色圆,然后画笔回到初始位置,并且此时朝向为绝对0°。接着,画笔向左转一定的角度后继续画左侧的绿色圆。最后,画笔重复刚才的操作画右侧的蓝色圆。

import turtle
#绘制第一个圆,半径为100,红色。
turtle.penup()  #抬起画笔,之后移动移动turtle不会留下痕迹,不需要函数参数。
turtle.goto(-50,50) #让海龟前往某一绝对坐标位置,以画布中心为(0,0)进行坐标系的划分。
turtle.pendown()    #放下画笔。
turtle.color('red') #选择画笔颜色为红,参数可以为颜色的字符串,也可以为RGB值。
turtle.circle(100)
#绘制第二个圆,半径为100,绿色。
turtle.penup()
turtle.goto(-50,50) #回到原点。
#改变海龟头部朝向(前进方向),以水平向右为0度/360度,竖直向上为90度。
turtle.seth(0)  #此处为朝向0度。
turtle.left(120)    #在当前前进方向上,向左转120度。
turtle.fd(10)   #向海龟当前的正前方运动10个像素。
turtle.pendown()
turtle.color('green')
turtle.circle(100)
#绘制第三个圆,半径为100,蓝色。
turtle.penup()
turtle.goto(-50,50)
turtle.seth(0)
turtle.right(120)   #在当前前进方向上,向右转120度。
turtle.fd(10)
turtle.pendown()
turtle.color('blue')
turtle.circle(100)
turtle.done()   #程序运行结束后窗口不会自动关闭

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浅琥珀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值