大家好,本文将围绕python画五角星的步骤图解图展开说明,怎么用python画五瓣花朵!是一个很多人都想弄明白的事情,想搞清楚用python画彩色五角星需要先了解以下几个事情。
画出六个同样的花瓣,可以组成一个花朵
功能要求
画出六个同样的花瓣,可以组成一个花朵。
说明:有六个花瓣组成了一个花朵,每个花瓣之间的夹角为360°/6=60°降重之后再查重可以吗。绘制花朵时,每绘制完一个花瓣后,让画笔旋转60°,在绘制下一个花瓣,这样循环6次可绘制一个花朵。
实例代码
import turtle
t = turtle.Pen()
for i in range(6):
for j in range(2):
for k in range(90):
t.forward(1)
t.right(1)
t.right(90)
t.right(60)
turtle.done()
运行结果
代码分析
三个循环的作用:第一个for循环,每循环一次绘制一个花瓣,循环6次形成一个花朵;第二个for循环,每循环一次绘制一个圆弧。循环2次形成一个花瓣;第三个for循环,每循环一次绘制一个1步长的小线段。循环90次形成一个圆弧。
程序执行过程:
1)首先导入海龟绘图模块,将变量t设置为海龟的画笔。
2)执行“for i in range(6)”语句,开始执行第一个for循环。此for循环会循环执行6次结束。第1次循环时,for循环先访问range列表中的第一个元素0,并将0存储在变量i中,变量i的值变为了0。
3)执行第一个for循环内部语句(缩进部分),先执行“for j in range(2)”语句,开始执行for循环,此for循环执行2次后结束循环。第一次循环时,for循环先访问range列表中第一个元素0,并将0存储在变量j中,变量j的值变为0。
4)执行第二个for循环内部语句(缩进部分),先执行“for k in range(90)”语句,此for循环执行90次后结束。第1次循环时,访问range列表中的第一个元素0,并将0存储在变量k中,变量k的值变为0。
5)执行第三个for循环内部语句(缩进部分),先执行“t.forward(1)”语句画笔向前移动1步,在执行“t.right(1)”语句,画笔向右转动1°。然后进行第二个for循环(内循环),变量k的值变为1,画笔向前移动1步,向右转动1°。这样一直循环,指导第90次循环,变量k的值变为89,画笔向前移动1步,向右移动1°,结束第二个for循环,画出一段弧线。
6)执行第二个for循环缩进部分的“t.right(90)”语句,画笔向右转90°,完成“for j in range(2)”语句的第一次循环。
7)运行“for j in range(2)”执行第二次循环,访问range列表中第二个元素“1”,并将“1”存储在变量j中,变量j的值变为了“1”。
8)执行第二个for循环缩进部分的语句。即执行“for k in range(90)”语句,重复步骤4)和步骤5),画出第二段弧线。之后,再执行第二个for循环缩进部分的“t.right(90)”语句,画笔向右转90°,完成第二个for循环的第2次循环。
9)执行第一个for循环中的缩进部分“t.right(60)”语句,画笔向右转60°,完成第一个for循环的第1次循环。
10)开始第一个for循环的第2次循环,重复步骤3)~步骤9),完成第2次循环,画出两个花瓣。一直循环,直到第一个for循环完成6次循环后,结束程序,画出一个花朵。
给花朵画上漂亮的颜色
功能要求
给花朵画上漂亮的颜色。
说明:使用海龟绘图中的color()语句(设置画笔颜色和填充颜色)、begin_fill()语句(开始填充颜色)和end_fill()语句(结束填充颜色)
实例代码
import turtle
t = turtle.Pen()
t.color('yellow','pink')
t.begin_fill()
for i in range(6):
for j in range(2):
for k in range(90):
t.forward(1)
t.right(1)
t.right(90)
t.right(60)
t.end_fill()
turtle.done()
运行结果
代码分析
t.color('yellow','pink'):设置画笔颜色和填充颜色。有两个参数,第一个参数为画笔颜色(yellow),第二个参数为填充颜色(pink)程序运行绘制图形。
注意:t.begin_fill()与t.end_fill()语句不在for循环中。
绘制多个花朵
功能要求
绘制多个花朵
说明:当绘制多个花朵时,需要在绘制完一个花朵后移动画笔。海龟绘画中移动画笔的语句为goto()语句。在移动画笔前需要先将画笔抬起,否则就会在移动画笔的过程中画出线条,抬笔的语句为penup()。另外在移动好画笔后,需要将画笔再落下,裸奔的语句为pendown()。
实例代码
import turtle
t = turtle.Pen()
t.color('yellow','pink')
t.begin_fill()
for i in range(6):
for j in range(2):
for k in range(90):
t.forward(1)
t.right(1)
t.right(90)
t.right(60)
t.end_fill()
t.penup()
t.goto(200,0)
t.pendown()
t.color('pink','yellow')
t.begin_fill()
for i in range(10):
for j in range(2):
for k in range(2):
t.forward(35)
t.right(60)
t.right(60)
t.right(36)
t.end_fill()
turtle.done()
运行结果
代码分析
t.color('yellow','pink')
t.begin_fill()
for i in range(6):
for j in range(2):
for k in range(90):
t.forward(1)
t.right(1)
t.right(90)
t.right(60)
t.end_fill():此部分语句为绘制粉色的花朵。
t.penup():将画笔抬起,这样移动画笔是,就不会出现线条了。
t.goto(200,0):移动画笔。括号中你那个的参数为坐标,200为x轴,0为y轴
t.pendown():将画笔落下,移动画笔时,就会画出线条。
t.color('pink','yellow')
t.begin_fill()
for i in range(10):
for j in range(2):
for k in range(2):
t.forward(35)
t.right(60)
t.right(60)
t.right(36)
t.end_fill():此部分为绘制黄色的花豆