
2.8 Python语句对照
本书中,初次遇到一些典型的Scratch指令时,我们也会提供对应的Python对照语句,给小朋友一个感官上的认识。
Python可谓如今应用最广泛的编程语言之一,而且Python语言和Scratch有很多类似之处,比如它们都是一句句执行的语言,有一句出了问题不会影响前面语句的执行。
另外,Python中也有一个专门用于绘图的turtle模块,和Scratch中提供的角色一样,很容易供人学习和使用。实际上,它们之间相似的地方很多,所以本书我们就以Python语言中的turtle模块作为基础,提供代码的对照。注意,这种对照并非严格对应关系,只是为了让小朋友了解“真正”的编程语言到底什么样子。
更换造型的Python对应语句
首先,我们看看本章中更换造型语句中Python里的对应语句,如下图所示。

下面提供的Python语句,前面和后面两个代码块都是辅助性语句,只有中间的代码块才是真正做出“动作”的语句,在本书后面提供Python语言对应的部分,我们就不再显示这些辅助语句。



以上程序中,t代表一个turtle,通过shape函数切换绘图笔的外形,它可以选择的外形包括箭头、乌龟、圆形、方形、三角形等。
设置变量值的Python对应语句
下图所示是本章用到的设置变量的值的语句。

在Python中,是不能使用中文作为变量的,但我们假设可以用这个中文名,那么对应的Python语句应该是:

取随机数的Python对应语句
比如本章有如下取随机数的代码块:

Python中有专门用于产生随机数的模块random,这里可以使用函数uniform:

本章内容里我们还指出过Scratch在取随机数时有无小数点的区别,因此,如下语句就是产生1和5之间的整数的随机数,包括1和5。

对应的Python语句就要用random模块里的randint函数,代码如下。

输出文字的Python对应语句
使用下图所示语句可在屏幕上输出反应时间,我们看到Scratch里连接很多字符串形成一个大字符串是比较麻烦的,但在真正的编程语言里会非常简单。

Turtle模块也有专门的字符串输出函数write,那么对应语句如下(同样假设可以有中文的变量)。可见,这里把多个字符串连接起来就简单很多了。

控制结构的Python对应语句
循环语句和Python对应语句如下。


条件判断和Python对应语句如下。列表也是Python中常用的类型,所以我们给出如下一个综合语句的对比。

