100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Python编程学习第一篇——Python零基础快速入门(三)——10行代码画朵花

Python编程学习第一篇——Python零基础快速入门(三)——10行代码画朵花

时间:2018-07-07 12:13:43

相关推荐

Python编程学习第一篇——Python零基础快速入门(三)——10行代码画朵花

上一节讲了一些Python编程的一些基础知识,从这节开始,我们将跟随一些实际的小程序示例,进入正式的编程学习。

下面我们就来介绍一下今天这个只有10行代码的小程序,先来看一下它的运行效果,程序运行起来可以看到一只小乌龟在窗口中爬来爬去,当爬回到起点的时候形成一个黄色的多角星形状,像是一朵黄色的花朵。如下图所示:

来看一下在这个小程序中我们用到的知识,主要用到了标准库中的turtle模块,while循环和if条件判断语句。

1、turtle库简介

turtle这个英文单词汉语意思是海龟,turtle库是turtle绘图体系python的实现;

turtle库绘图原理:有一只海龟在窗体正中心,在画布上游走,走过的轨迹形成了绘制的图形,海龟由程序控制,可以自由改变颜色、方向宽度等;

小知识:

turtle绘图体系:1969年诞生,主要用于程序设计入门;turtle库是python的标准库之一;属于入门级的图形绘制函数库。

说明:python计算生态=标准库+第三方库:

标准库:是随解释器直接安装到操作系统中的功能模块;

第三方库:需要经过安装才能使用的功能模块;

库library、包package、模块module统称为模块。

2、本节示例小程序讲解

下面我们试着让这只小海龟画一画,我们先创建一个名字为t1.py的文件,文件头的写法在上节基础知识中已经做了介绍,这里不再重复,在Python中要让这只海龟出现在画布上,要先用import 关键字导入这个库,然后才能使用,我们让它来画一条直线,代码如下:

#!/usr/bin/env python# -*- coding : utf-8 -*-# Copyright (C) - BowenCentury# All right reserved.# 文件名称:t1.py# 摘 要:# 作者:fantastico# 创建日期:-12-06 13:09:38# 修改记录:10 ##import turtleturtle.setup(640, 480)#创建一张640x480大小的画布,不调用此函数,则创建一个默认窗口turtle.shape("turtle") #设置光标形状为一只小海龟turtle.forward(100) #forward是让海龟向前行进的函数,可以简写为fd(),类似的函数还有#backward()/bk()让小海龟后退,goto(x,y),#让小海龟走到画布中x,y坐标对应的位置等turtle.done()#画图结束,停止绘制

执行就会看到下面的窗口中,一只小乌龟向右爬了一小段距离。如下图:

turtle函数前进后退等方向说明:

如果这时候我们想让小海龟向左爬,可以用turtle.left()函数,让他向左转,如果想象右,可以用turtle的right()函数。我们现在让小海龟向左转90度,增加一行代码,turtle.left(90),这时候运行程序可以看到,海龟头转向上面了,但是它没有移动,如果想让他向上爬,那就还需要用turtle.forward()函数使它前进。看一下让它转向和向左前进100距离的效果,下面是代码和结果图:

turtle.left(90)turtle.forward(100)

现在我们已经掌握了小海龟库的基本用法,现在就用它来画出我们开始的时候展示的黄色花朵。做之前我们发现要画这朵花,有一定的规律就是小海龟可以沿着红线从起点一直走,每走一段距离,改变一次方向,向着一个固定大小的夹角的方向前进,直到最后走回起点,图形绘画就完成了。这里如果我们手动一条一条写代码,每次让海龟朝着我们想要的方向前进,一定也可以完成这个图形,但是在开始的时候我说了这个小程序只有10行代码,如何用这么少的代码,让小海龟爬那么多次呢,这里就要用到循环语句while True: 了,这个语句的意思是一直重复执行它下面的语句,直到被中断。我们在画这朵花的时候希望当小海龟爬回起点之后就停止绘画,结束while循环,那么我们怎么才能结束它呢?就要用到if条件判断语句,当回到起点的时候,我们用break语句打破循环,停止绘画。这里在判断是否回到起点的地方用了一个abs()绝对值函数,当海龟绝位置pos()绝对值小于1时,海龟回到了原点,因为x、y坐标都为0,这时调用break语句,即可跳出while循环了。

下面来看看完整的程序代码:

import turtle #引入标准库turtle绘画模块turtle.shape("turtle")#将光标设置为小海龟形状turtle.color('red', 'yellow') #设置绘画的画笔和填充颜色为“红”和“黄”turtle.begin_fill() #begin_fill()是填充开始,当调用end_fill()时,为图形着色while True: #循环绘画开始turtle.forward(200) #现在开始让海龟向前爬200距离turtle.lt(160) #让海龟向左转过160度向一个20度的夹角方向准备继续爬行if abs(turtle.pos()) < 1: break#只要它还没跑回原点,就继续上面的爬行和转向运作turtle.end_fill()#这时海龟已经跑回原点,整个图形画好,给图形着色turtle.done() #停止绘画

本节内容就到这里,我们回顾一下本节的内容,我们在画画之前,要先引入工具,就是这个标准库中的基本绘图模块turtle,然后我们通过while循环语句控制小海龟不停的转向、前进……,用if语句在while循环当中判断是否海龟已经跑回起点,当它跑回起点,调用break语句,终止并跳出while循环,完成图形的上色,一朵黄色的花朵就这样画完了,最后的turtle.done()函数停止绘画,并保持窗口,如果不加这句,我们虽然完成了绘画,窗口也会一闪即逝,加上这句,可以使绘画工作停下来,并在窗口中显示当前绘画的结果。

3、知识点总结

(1)turtle库的其他命令函数介绍:

海龟运动命令:

forward(d):向前移动 d 长度

backward(d):向后移动 d 长度

right(d): 向右转动 d 度

left(d): 向左转动 d 度

goto(x,y):移动到坐标为(x,y)的位置

笔画控制命令:

speed(d):笔画移动的速度,范围1-10

up() : 画笔抬起,移动时不会在画布上留下痕迹

down() :画笔落下

setheading(d) : 改变海龟的朝向为 d

pensize() : 改变画笔的尺寸大小(宽度)

pencolor() : 改变笔画的颜色

reset() : 回复所有设置,清空窗口,重置turtle

clear() :清空窗口,不重置turtle

circle(r,e): 绘制一个圆形, r :半径 e:次数(数值越大,圆越标准)

注意:颜色填充为以下三个方法一起使用

begin_fill()

fillcolor(colorstr)#填充颜色

end_fill()

其他命令:

done():保持程序继续运行

undo():撤销上一次动作

hideturtle() :隐藏海龟

showturtle():显示海龟

(2)if条件判断语句和while循环语句

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

可以通过下图来简单了解条件语句的执行过程:

Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。

Python 编程中 if 语句用于控制程序的执行,基本形式为:

if 判断条件:执行语句……else:执行语句……

其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。

else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句。

具体例子如下:

#!/usr/bin/python# -*- coding: UTF-8 -*-# 例1:if 基本用法flag = Falsename = 'luren'if name == 'python': # 判断变量是否为 python flag = True # 条件成立时设置标志为真print 'welcome boss'# 并输出欢迎信息else:print name# 条件不成立时输出变量名称

Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:

while 判断条件(condition):

执行语句(statements)……

执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。

当判断条件假 false 时,循环结束。

while语句动态执行过程如下:

while 语句时还有另外两个重要的命令 continue,break 来跳过循环,continue 用于跳过该次循环,break 则是用于退出循环,此外"判断条件"还可以是个常值,表示循环必定成立,具体用法如下:

# continue 和 break 用法i = 1while i < 10: i += 1if i%2 > 0:# 非双数时跳过输出continueprint i # 输出双数2、4、6、8、10i = 1while 1: # 循环条件为1必定成立print i # 输出1~10i += 1if i > 10:# 当i大于10时跳出循环break

下一节,我们将继续学习其他示例小程序,我们将会学习到更多的Python语言语法,下一节我们也将详细详解循环语句、条件判断语句的用法,因为这两个语句是编程语言中用的最多的程序执行逻辑控制方法。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。