功能要求
利用海龟笔绘制一个半径为100的,1/3圆弧,并隐藏海龟画笔,设置画笔颜色,设置海龟笔的宽度和海龟笔的颜色。
实例代码
import turtle
'''设置画笔和画笔的初始状态'''
turtle.hideturtle() # 隐藏海龟笔头
turtle.bgcolor("lavender") # 设置画布的背景颜色
turtle.width(3) # 设置画笔的宽度
turtle.color("Purple") # 设置画笔的颜色
'''绘制半径为100的,1/3圆弧'''
turtle.circle(100, 120)
turtle.done() # 暂停程序,停止画笔绘制
运行结果
代码分析
turtle.hideturtle():隐藏海龟笔头。
turtle.bgcolor("lavender"):设置画布的背景颜色,括号中的“lavender”为Python预设的颜色值。
turtle.width(3):设置画笔的宽度,即控制画笔的粗细。括号中的数字为画笔的宽度,数字越大画笔越粗。
turtle.color("Purple"):设置画笔的颜色
turtle.circle(100, 120):绘制半径为100的角度为120°的圆弧,其中120°为1/3的弧度。
知识说明
turtle.circle(radius, extent=None, steps=None):绘制一个radius指定半径的圆。圆心相对于海龟笔开始位置的坐标为(-radius, radius),如果radius为正值则朝逆时针方向绘制圆弧,否则朝顺时针方向;extent为一个夹角,用来决定绘制圆的一部分,extent参数可以不指定,如未指定extent则绘制整个圆,即360°的圆弧,如果extent指定值小于360,则不是完整圆,则以当前画笔位置为一个端点绘制圆弧,如果extent指定值大于360则绘制了一整个圆,但画笔停下的位置不同也就是说画笔的方向不同。圆实际是以其内切正多边形来近似表示的,其边的数量由steps指定。如果未指定边数则会自动确定。此方法也可用来绘制正多边形。
功能要求
利用海龟笔绘制一个半径为100的内切正三角形,并隐藏海龟画笔,设置画笔颜色,设置海龟笔的宽度和海龟笔的颜色;同时设置内切正三角形的填充颜色。
实例代码
import turtle
'''设置画笔和画笔的初始状态'''
turtle.hideturtle() # 隐藏海龟笔头
turtle.bgcolor("lavender") # 设置画布的背景颜色
turtle.width(3) # 设置画笔的宽度
turtle.color("Purple") # 设置画笔的颜色
'''绘制半径为100的内切正三角形'''
turtle.color("Purple") # 设置画笔的颜色
turtle.fillcolor("orange") # 设置填充的颜色
turtle.begin_fill() # 设置开始填充点
turtle.circle(100, steps = 3) # 绘制内切正三角形
turtle.end_fill() # 设置填充的结束点
turtle.done() # 暂停程序,停止画笔绘制
运行结果
代码分析
turtle.fillcolor("orange"):设置填充的颜色
turtle.begin_fill()
turtle.circle(100, steps = 3)
turtle.end_fill():设置颜色填充区域,turtle.begin_fill()设置了填充区域的起点,turtle.circle(100, steps = 3)设置了填充的范围,turtle.end_fill(),设置填充的结束点。
注意:在设置填充区域时需要设置填充的开始位置即turtle.begin_fill()和填充的结束位置即turtle.end_fill()。
turtle.circle(100, steps = 3):绘制内切正三角形,由于在调用turtle.circle()函数时没有指定第2个参数而直接指定了第三个参数,需要使用关键字参数的方式指定第三个参数,即“参数名 = 参数值”的方式。
功能要求
利用海龟笔绘制一个基于半径为100的六芒星阵,并设置画笔的速度,隐藏海龟画笔,设置画笔颜色,设置海龟笔的宽度和海龟笔的颜色;同时设置内切正三角形的填充颜色。
实例代码
import turtle
'''设置画笔和画笔的初始状态'''
turtle.speed(0) # 设置海龟笔的速度
turtle.hideturtle() # 隐藏海龟笔头
turtle.bgcolor("lavender") # 设置画布的背景颜色
turtle.width(3) # 设置画笔的宽度
turtle.color("Purple") # 设置画笔的颜色
'''设置画笔的起始位置'''
turtle.penup()
turtle.goto(0, -100)
turtle.pendown()
'''绘制基于半径为100的六芒星阵'''
turtle.color("Purple") # 设置画笔的颜色
turtle.fillcolor("orange") # 设置填充的颜色
turtle.begin_fill() # 设置开始填充点
turtle.circle(100, steps = 3) # 绘制第一个内切正三角形
turtle.circle(100) # 绘制六芒星阵的外圆形
# 移动画笔并修改画笔的角度,为第二个内切正三角形做准备
turtle.penup()
turtle.goto(0, 100)
turtle.left(180) # 画笔角度旋转180度
turtle.pendown()
turtle.circle(100, steps=3) # 绘制第二个内切正三角形
turtle.end_fill() # 设置填充的结束点
turtle.done() # 暂停程序,停止画笔绘制
代码改进
将绘制六芒星阵的外圆形和移动画笔位置和角度一次完成。
实例代码
import turtle
'''设置画笔和画笔的初始状态'''
turtle.speed(0) # 设置海龟笔的速度
turtle.hideturtle() # 隐藏海龟笔头
turtle.bgcolor("lavender") # 设置画布的背景颜色
turtle.width(3) # 设置画笔的宽度
turtle.color("Purple") # 设置画笔的颜色
'''设置画笔的起始位置'''
turtle.penup()
turtle.goto(0, -100)
turtle.pendown()
'''绘制基于半径为100的六芒星阵'''
turtle.color("Purple") # 设置画笔的颜色
turtle.fillcolor("orange") # 设置填充的颜色
turtle.begin_fill() # 设置开始填充点
turtle.circle(100, steps = 3) # 绘制第一个内切正三角形
turtle.circle(100, 540) # 绘制一个半径为100,角度为540度的圆
turtle.circle(100, steps=3) # 绘制第二个内切正三角形
turtle.end_fill() # 设置填充的结束点
turtle.done() # 暂停程序,停止画笔绘制
代码分析
turtle.circle(100, 540):绘制一个半径为100,角度为540度的圆,即画满了一个整圆后,在多画了半个圆,画笔的起点从圆的最下方到圆的最上方,画笔的方向从向右转向的向左。