![玩转Scratch趣味编程](https://wfqqreader-1252317822.image.myqcloud.com/cover/656/33643656/b_33643656.jpg)
2.8 Python语句对照
本书中,初次遇到一些典型的Scratch指令时,我们也会提供对应的Python对照语句,给小朋友一个感官上的认识。
Python可谓如今应用最广泛的编程语言之一,而且Python语言和Scratch有很多类似之处,比如它们都是一句句执行的语言,有一句出了问题不会影响前面语句的执行。
另外,Python中也有一个专门用于绘图的turtle模块,和Scratch中提供的角色一样,很容易供人学习和使用。实际上,它们之间相似的地方很多,所以本书我们就以Python语言中的turtle模块作为基础,提供代码的对照。注意,这种对照并非严格对应关系,只是为了让小朋友了解“真正”的编程语言到底什么样子。
更换造型的Python对应语句
首先,我们看看本章中更换造型语句中Python里的对应语句,如下图所示。
![](https://epubservercos.yuewen.com/32680F/17977545201603006/epubprivate/OEBPS/Images/58_01.jpg?sign=1738788373-ILGxyYU5nRZLDdsRr0tJXJt42u5y8e6K-0-3b8b5a9dca0b3dfb3a30b21592302730)
下面提供的Python语句,前面和后面两个代码块都是辅助性语句,只有中间的代码块才是真正做出“动作”的语句,在本书后面提供Python语言对应的部分,我们就不再显示这些辅助语句。
![](https://epubservercos.yuewen.com/32680F/17977545201603006/epubprivate/OEBPS/Images/58_02.jpg?sign=1738788373-jznpoAx1oIgKAQBz63YU8w9ybnT7ZLoR-0-6aa3eb2364b997520ba65021778745eb)
![](https://epubservercos.yuewen.com/32680F/17977545201603006/epubprivate/OEBPS/Images/58_03.jpg?sign=1738788373-a69hRhiO4CmxvWx1iF2lmN9smgseKHBi-0-06b6f01fc108c19123f75f7b6b9183d9)
![](https://epubservercos.yuewen.com/32680F/17977545201603006/epubprivate/OEBPS/Images/58_04.jpg?sign=1738788373-SvL3hqq1GVMmpvnnlpiI8O4yQLuuO2oW-0-ba41693dacb31ebbc344c702d42d3c12)
以上程序中,t代表一个turtle,通过shape函数切换绘图笔的外形,它可以选择的外形包括箭头、乌龟、圆形、方形、三角形等。
设置变量值的Python对应语句
下图所示是本章用到的设置变量的值的语句。
![](https://epubservercos.yuewen.com/32680F/17977545201603006/epubprivate/OEBPS/Images/58_06.jpg?sign=1738788373-cv6YpYGfmdqi9heHMk7eskGPQIDm16lz-0-0a999a405038cb799deae4f5dea1bd9e)
在Python中,是不能使用中文作为变量的,但我们假设可以用这个中文名,那么对应的Python语句应该是:
![](https://epubservercos.yuewen.com/32680F/17977545201603006/epubprivate/OEBPS/Images/58_07.jpg?sign=1738788373-vIczAkhuuSyezUjDgewGqiN3fELsAMTr-0-4dc794472cfa71b5ed2a004d01c2bfa1)
取随机数的Python对应语句
比如本章有如下取随机数的代码块:
![](https://epubservercos.yuewen.com/32680F/17977545201603006/epubprivate/OEBPS/Images/59_01.jpg?sign=1738788373-sWfD1BBWeasaX2R3xk2NFBKnj8fHkvZ6-0-f60c53cfc108fc6bf21e884acc4afdaa)
Python中有专门用于产生随机数的模块random,这里可以使用函数uniform:
![](https://epubservercos.yuewen.com/32680F/17977545201603006/epubprivate/OEBPS/Images/59_02.jpg?sign=1738788373-onn5Oti1qEVm3NrRiJhZsqmWKOKLQrMw-0-20abfb72df218ec2ba673d65c0ba6e56)
本章内容里我们还指出过Scratch在取随机数时有无小数点的区别,因此,如下语句就是产生1和5之间的整数的随机数,包括1和5。
![](https://epubservercos.yuewen.com/32680F/17977545201603006/epubprivate/OEBPS/Images/59_03.jpg?sign=1738788373-C0PcOJjWlQjSZjE87MjG86vnJEupL80r-0-9471716762d0e615816a831eb0ba2384)
对应的Python语句就要用random模块里的randint函数,代码如下。
![](https://epubservercos.yuewen.com/32680F/17977545201603006/epubprivate/OEBPS/Images/59_04.jpg?sign=1738788373-hbCBM180zhs9djSN7WcuPruv2UiZDbeq-0-d639f85df8408f55615da9d4d34b4bd2)
输出文字的Python对应语句
使用下图所示语句可在屏幕上输出反应时间,我们看到Scratch里连接很多字符串形成一个大字符串是比较麻烦的,但在真正的编程语言里会非常简单。
![](https://epubservercos.yuewen.com/32680F/17977545201603006/epubprivate/OEBPS/Images/59_06.jpg?sign=1738788373-hcbAgbJphrRMTgNfPSsmja1KG70ttF3j-0-576cf180f2918a5443353bc5fc9f0f0c)
Turtle模块也有专门的字符串输出函数write,那么对应语句如下(同样假设可以有中文的变量)。可见,这里把多个字符串连接起来就简单很多了。
![](https://epubservercos.yuewen.com/32680F/17977545201603006/epubprivate/OEBPS/Images/59_07.jpg?sign=1738788373-daNX8LB3wPHeHb2Yv4nryPWTDYUdD9c5-0-61193b4a1b21ee6e2074dbd838826d06)
控制结构的Python对应语句
循环语句和Python对应语句如下。
![](https://epubservercos.yuewen.com/32680F/17977545201603006/epubprivate/OEBPS/Images/60_01.jpg?sign=1738788373-LkKLfvp0Qlpn3gWrPxF3eSpf6TxG1Inl-0-2d1a83169030edb66cb1a40a6aee13cc)
![](https://epubservercos.yuewen.com/32680F/17977545201603006/epubprivate/OEBPS/Images/60_02.jpg?sign=1738788373-8rXlaHiX1X095R5NqUXix9v6VRSOFW8B-0-7347eadf4a35c135126bbfea77a1328e)
条件判断和Python对应语句如下。列表也是Python中常用的类型,所以我们给出如下一个综合语句的对比。
![](https://epubservercos.yuewen.com/32680F/17977545201603006/epubprivate/OEBPS/Images/60_03.jpg?sign=1738788373-URQm19fuG2bLFNcSEJbn852xk0UjXlbG-0-2f04edf96b774ec870c734dbf7eeba81)
![](https://epubservercos.yuewen.com/32680F/17977545201603006/epubprivate/OEBPS/Images/60_04.jpg?sign=1738788373-tkKgys7L2E0iqMCvMHaB4gOfEbjm9IjZ-0-65b15ae2243b52fcdb1ebb189c305d3a)