朋友们,大家好!在这一节里我将带着大家一起利用Python里的turtle库结合循环结构绘制简单漂亮的烟花,来庆祝新的一年。相信我,看完这一节,不需要特别复杂的代码,你可以大胆尝试敲敲代码,初学Python的你同样也可以绘制一副绚丽多彩的烟花!
一.如何绘制如下图所示的第一个烟花?
案例分析:想要绘制出多个美丽的烟花,首先应该掌握一个烟花是如何绘制的。在这一案例中,我们将利用Python的文件式开发环境进行编程。
1.启动Python,进入IDLE开发环境,点击菜单项“File”,在弹出的级联菜单下选定“NewFile”选项。在文件式的开发环境下,输入以下代码,如下图:
第一个烟花代码解析:(如何利用循环变量i重复绘制弧形?)
importturtleass#导入turtle库,并设置库的别名以简化程序
s.setup(,)#设置绘图窗体的宽度为像素,高度为像素
s.pensize(6)#设置画笔的大小是10像素
color=["red","green","orange","purple","blue","magenta","cyan"]#设置七种颜色列表
s.bgcolor("black")#设置画布的背景色为黑色
s.speed()#设置画笔的速度
foriinrange(24):#设置循环变量i,即循环24次(将画24个弧形)
s.pencolor(color[i%7])#设置画笔的颜色为七种颜色列表里的某一种
s.penup()#画笔弹起,离开画布
s.goto(,)#使得在任何位置的海龟到达指定的坐标点,但方向不改变。s.seth(90)#改变画笔当前的行进方向,但不行进,参数为绝对角度90度。s.seth(48*i)#改变画笔当前的行进方向,但不行进,参数为绝对角度48*i度。s.pendown()#画笔落下,重新回到画布上。
s.circle(-25*i,-60)#表示以画笔当前位置右侧距离25*i像素为圆心,根据半径逆时针绘制60角度的弧形。
s.penup()#画笔弹起,离开画布
2.代码编辑完成后,一定别忘了点击菜单项“File”,在弹出的级联菜单下选定“Save”选项进行保存,以防发生断电等意外情况,好不容易编写好的程序付之东流。当然,在编写代码之前,大家也可以先保存文件再编写代码,等代码编辑完成后再次保存文件。
3.此时,编辑器的标题栏将会显示已经保存的文件名,如“第一个烟花.py”,当然大家也可以根据需要自己命名其它的名称。
4.接下来,点击菜单项“Run”,在弹出的级联菜单下选定“RunModuleF5”选项。
5.Ok,我们期待的第一个烟花完成了!
二.接下来如何绘制第二个烟花?
案例分析:想要绘制出第二个美丽的烟花,现在应该可以按照第一个烟花的绘制思路继续进行。第二个烟花的代码也可以独立保存为一个文件。在这一案例中,我们为了保留第一个烟花的效果图,将接着在上一节的Python的文件式开发环境下进行编程。
1.打开“第一个烟花.py”的文件
2.在上面文件式开发环境下继续输入代码,如下图:
第二个烟花代码解析:(如何利用循环变量i重复绘制弧形?)
importturtleass#导入turtle库,并设置库的别名以简化程序
s.setup(,)#设置绘图窗体的宽度为像素,高度为像素
s.pensize(6)#设置画笔的大小是10像素
color=["red","green","orange","purple","blue","magenta","cyan"]#设置七种颜色列表
s.bgcolor("black")#设置画布的背景色为黑色
s.speed()#设置画笔的速度
foriinrange(24):#设置循环变量i,即循环24次(将画24个弧形)s.pencolor(color[i%7])#设置画笔的颜色为七种颜色列表里的某一种
s.penup()#画笔弹起,离开画布
s.goto(-,)#使得在任何位置的海龟到达指定的坐标点,但方向不改变。
s.seth(90)#改变画笔当前的行进方向,但不行进,参数为绝对角度90度。
s.seth(48*i)#改变画笔当前的行进方向,但不行进,参数为绝对角度48*i度。
s.pendown()#画笔落下,重新回到画布上。
s.circle(-25*i,-30)#表示以画笔当前位置右侧距离25*i像素为圆心,根据半径逆时针绘制30角度的弧形。
s.penup()#画笔弹起,离开画布
3.代码编辑完成后,一定别忘了点击菜单项“File”,在弹出的级联菜单下选定“Save”选项进行保存。
4.此时,编辑器的标题栏将会显示已经保存的文件名,如“第一个烟花和第二个烟花.py”,当然大家也可以根据需要自己命名其它的名称。
5.接下来,点击菜单项“Run”,在弹出的级联菜单下选定“RunModuleF5”选项。
6.Ok,我们期待已久的第二个烟花完成了!
三.接下来如何绘制第三个烟花?
案例分析:想要绘制出第三个美丽的烟花,现在应该可以按照前两个烟花的绘制思路继续进行。第三个烟花的代码也可以独立保存为一个文件。在这一案例中,我们为了保留前两个烟花的效果图,将接着在上一节的Python的文件式开发环境下进行编程。
1.打开“第一个烟花和第二个烟花.py”的文件,
2.在上面文件式开发环境下继续输入代码,如下图:
第三个烟花代码解析:(如何利用循环变量i重复绘制弧形?)
importturtleass#导入turtle库,并设置库的别名以简化程序
s.setup(,)#设置绘图窗体的宽度为像素,高度为像素
s.pensize(6)#设置画笔的大小是10像素
color=["red","green","orange","purple","blue","magenta","cyan"]#设置七种颜色列表
s.bgcolor("black")#设置画布的背景色为黑色
s.speed()#设置画笔的速度
foriinrange(24):#设置循环变量i,即循环24次(将画24个弧形)s.pencolor(color[i%7])#设置画笔的颜色为七种颜色列表里的某一种
s.penup()#画笔弹起,离开画布
s.goto(0,0)#使得在任何位置的海龟到达指定的坐标点,但方向不改变。
s.seth(0)#改变画笔当前的行进方向,但不行进,参数为绝对角度0度。
s.seth(48*i)#改变画笔当前的行进方向,但不行进,参数为绝对角度48*i度。
s.pendown()#画笔落下,重新回到画布上。
s.circle(-10*i,-30)#表示以画笔当前位置右侧距离10*i像素为圆心,根据半径逆时针绘制30角度的弧形。
s.penup()#画笔弹起,离开画布
3.代码编辑完成后,一定别忘了点击菜单项“File”,在弹出的级联菜单下选定“Save”选项进行保存。
4.此时,编辑器的标题栏将会显示已经保存的文件名,如“第一个烟花和第二个烟花.py”,当然大家也可以根据需要自己命名其它的名称。我们可以点击菜单项“File”,在弹出的级联菜单下选定“SaveAs”选项进行另存,将已有的文件更新后另存为新的文件,文件名改为“三个烟花.py”,如下图:
5.接下来,点击菜单项“Run”,在弹出的级联菜单下选定“RunModuleF5”选项。
6.Ok,我们期待已久的第三个烟花完成了!
四.接下来如何快速绘制其它的五个烟花呢?
案例分析:想要快速绘制其它的五个烟花,如果了解了前面三个烟花的绘制过程,现在应该可以按照前三个烟花的绘制思路继续进行。前面三个烟花的代码也可以独立保存为一个文件。在这一案例中,我们为了保留前三个烟花的效果图,将接着在上一节的Python的文件式开发环境下进行编程。
1.打开“三个烟花.py”的文件
2.在上面文件式开发环境下继续输入代码,如下图:
说明:由于第八个烟花绘制完成后还有些代码与其它烟花略微不同,接下来我们仅对第八个烟花的代码讲解一下,希望大家再接再厉,马上就快成功了,加油!
第八个烟花代码解析:(如何利用循环变量i重复绘制弧形?)
importturtleass#导入turtle库,并设置库的别名以简化程序
s.setup(,)#设置绘图窗体的宽度为像素,高度为像素
s.pensize(6)#设置画笔的大小是10像素
color=["red","green","orange","purple","blue","magenta","cyan"]#设置七种颜色列表
s.bgcolor("black")#设置画布的背景色为黑色
s.speed()#设置画笔的速度
foriinrange(24):#设置循环变量i,即循环24次(将画24个弧形)
s.pencolor(color[i%7])#设置画笔的颜色为七种颜色列表里的某一种
s.penup()#画笔弹起,离开画布
s.goto(,)#使得在任何位置的海龟到达指定的坐标点,但方向不改变。
s.seth(90)#改变画笔当前的行进方向,但不行进,参数为绝对角度90度。
s.seth(48*i)#改变画笔当前的行进方向,但不行进,参数为绝对角度48*i度。
s.pendown()#画笔落下,重新回到画布上。
s.circle(-2.5*i,-30)#表示以画笔当前位置右侧距离2.5*i像素为圆心,根据半径逆时针绘制30角度的弧形。
s.penup()#画笔弹起,离开画布
s.penup()#画笔弹起,离开画布
s.goto(-,-)#使得在任何位置的海龟到达指定的坐标点,但方向不改变。s.write("HappyNewYearToYou!",font=("Arial",56))#在画布上输出字符串,并设置字体和大小
3.对于新建的文件,代码编辑完成后,一定别忘了点击菜单项“File”,在弹出的级联菜单下选定“Save”选项进行保存.
4.此时,编辑器的标题栏将会显示已经保存的文件名,如“三个烟花.py”,当然大家也可以根据需要自己命名其它的名称。我们可以点击菜单项“File”,在弹出的级联菜单下选定“SaveAs”选项进行另存,将已有的文件更新后另存为新的文件,文件名改为“newyear.py”,如下图:
5.接下来,点击菜单项“Run”,在弹出的级联菜单下选定“RunModuleF5”选项。
6.Ok,我们期待已久的多个烟花绘制完成了!
五.虽然我们期待的烟花效果图已经成功了,请朋友们再次回到代码编辑窗口,仔细分析一下我们的代码,比较一下这八段烟花的绘制代码是不是有很多相同的地方,那么有没有好办法让我们的代码简化一下呢?我们重新建立一个新的文件,试试看吧:
1.启动Python,进入IDLE开发环境,点击菜单项“File”,在弹出的级联菜单下选定“NewFile”选项。
2.在文件式的开发环境下,输入以下代码:
说明:请朋友们仔细观察代码,是不是有一种似曾相识的感觉呢,这里面我们用到了Python基础语法里面函数的定义和调用,来实现代码的复用,也就达到了简化代码,提高效率的目的。关于函数的使用方法我将在后续的章节中详细介绍,有需要的朋友们可以继续