超好玩的Python少儿编程
上QQ阅读APP看书,第一时间看更新

2.2 神奇的变量

课程内容

本节课主要通过绘制五边形和五角星来继续学习海龟绘图的技巧、变量的应用,以及移动和旋转画笔。

知识点

(1)变量的用法

(2)五边形和五角星绘图技巧

用到的基本指令

(1)import

(2)turtle.Pen()

(3)forward()

(4)right()

2.2.1 难点解析之数据类型

在Python中,能够直接处理的数据类型主要有整数、浮点数、字符串等几种。

1.整数

Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:2,0,-20。

2.浮点数

浮点数(也就是小数)之所以称为浮点数,是因为按照科学计数法表示时,一个浮点数的小数点位置是可变的,比如,1.23×106和12.3×105是完全相等的。对于很大或很小的浮点数,必须用科学计数法表示,把10用e替代,如1.23×109表示为1.23e9或12.3e8。0.000012可以表示为1.2e-5。

注意

浮点数运算时会四舍五入,因此计算机保存的浮点数计算值会有误差。

3.字符串

字符串就是一系列字符。在Python中,用引号括起来的都是字符串,其中引号可以是单引号,也可以是双引号(引号必须是半角的),比如‘abc33’,“this is my sister”等。这种灵活的表达方式让用户可以在字符串中包含引号和撇号。比如“I'm OK”,‘我看着他说:“这是我妹妹。”’。

如果字符串中同时包含单引号和双引号怎么办?可以用转义字符 \ 来标识,比如:字符串I'm“ok”!,可以这样写代码'I\'m\"ok\"!'。

转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\,如图2-4所示。

图2-4 字符串换行和制表符

2.2.2 难点解析之变量

变量来源于数学,在编程中通常使用变量来存放计算结果或值。如图2-5所示的“Name”就是一个变量。简单地说,我们可以把变量看作是个盒子,可以将钥匙、手机、饮料等物品存放在这个盒子中,也可以随时更换想存放的新物品。并且可以根据盒子的名称(变量名)快速查找到存放物品的信息。

在数学课上我们也会学到变量,比如解方程的时候x,y就是变量,用字母代替。在程序的里面我们就需要给变量起名字,比如“Name”。变量取名字的时候一定要清楚地说明其用途,因为一个大的程序里面的变量有成百上千个,如果名字不能清楚地表达用途,不仅别人会看不懂你的程序,恐怕连自己都会搞糊涂的。

图2-5 程序中的变量

在Python中使用变量时,需要遵守一些规则,否则会引发错误。主要的规则包括:

1)变量名只能包含字母、数字和下画线,且不能用数字开头。例如变量名Name_1是正确的变量名,变量名1_Name是错误的变量名。

2)变量名不能包含空格,但可使用下画线来分隔其中的单词。如变量名my_name是正确的,变量名my name是错误的。

3)不要将Python关键字和函数名作为变量名。如将print作为变量名就是错误的。

4)变量名应既简单又具有描述性,如student_name就比s_n好,容易理解其用途。

5)慎用小写字母l和大写字母O。因为它们可能被人错看成数字1和0。

2.2.3 使用变量快速修改程序

上一节我们学习了通过海龟绘图画一个正方形的方法,接下来继续学习如何绘制一个五边形。我们通过修改上一节绘制正方形的程序来绘制一个五边形,首先将t.right(90)语句括号中的参数90修改为72,然后再增加一组向前走100步,向右转72°的语句,即总共重复5次向前走和右转的操作,这样会画出什么图形?如图2-6所示。

图2-6 绘制五边形

图2-6 绘制五边形(续)

我们在修改程序的时候,可能会出现小失误,比如中间有一个参数被修改成了73,导致没有画出正五边形。然后一行一行地检查程序,才发现问题。如果程序有上万条语句,那修改起来岂不是要花费很长时间?有没有简单的方法只修改一次就可以解决上面的问题呢?

今天我们介绍一种更高级的技巧——定义变量。比如我们定义一个变量“angle”(中文意思是角度),然后用“angle”代表“旋转角度”,修改上面的程序,如图2-7所示。

图2-7 使用变量

图2-7 使用变量(续)

接下来将变量angle的值修改为144,即右转角度修改为144°,会出输出什么图形呢?如图2-8所示。

图2-8 修改变量参数

可以看到,通过定义变量,只需要一处修改就可以改变整个程序的所有旋转角度,轻松地一次搞定所有问题。