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

用python绘制无边正方形 python中无角正方形的绘制_ci

分析:由图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所示。

用python绘制无边正方形 python中无角正方形的绘制_程序运行_02

分析:由图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()   #程序运行结束后窗口不会自动关闭

用python绘制无边正方形 python中无角正方形的绘制_用python绘制无边正方形_03