《与孩子一起学编程》python自测题

yipeiwu_com6年前Python基础

测试题一、

1、 程序可以响应的两种事件分别是键盘事件和鼠标事件。

2、 处理事件的代码称为事件处理器

3、 Pygame使用KEYDOWN事件来检测按键是否按下。

4、 Pos属性会指出事件发生时鼠标所在的位置

5、 要为用户事件得到下一个可用的事件编号,可以使用pygame.NUMEVENTS。

6、 要创建一个定时器,可以使用pygame.time.set_timer()。

7、 要在Pygame窗口中显示文本,可以使用font对象。

8、 使用字体对象有3个步骤:

创建一个字体对象

渲染文本,创建一个表面

把这个表面块移到显示表面

动手试一试

1、 如果球没有碰到球拍的顶边,而是碰到了球拍的左右两边,为什么会有奇怪的表现?这是因为这里有一个碰撞,所以代码尝试让球的y方向 (让它向上而不是向下)。但是因为球 是从两边(左边或右边)过来的,即使在反向之后它仍会与球拍“碰撞”。下一次循环(一帧之后)时,它会再次反向,因此会再次向下,如此继续,要解决这个问题,有一种简单的方法:当球与球拍碰撞时总是将球设置为向“上”(y速度是一个负值)。这不能算是一种完美的解决办法,因为这意味着即使碰到球拍左右两边也会向上反弹---这可不太真实!不过这样能解决球在球拍两边来回反弹的问题,如果你想要一种更真实的解决方案,可能需要多写一些代码,也许要增加一些内容,在“反弹”之前检查球碰到了球拍的哪一边。

2、 我们已经给出了有关代码的一个例子,可以为程序增加随机性,见TIO_CH18_2.py。

测试题二、

1、 存储声音的文件类型包括波形文件(.wav)、MP3(.mp3)、Ogg Vorbis文件(.ogg)和Windows媒体音频文件(.wma)。

2、 Pygame.mixer模块用来播放音乐

3、 要用各个声音对象的set_volume()方法设置Pygame声音对象的音量。

4、 使用pygame.mixer.music.set_volume()设置背景音乐的音量。

5、 要让音乐淡出,可以使用pygame.mixer.music.fadeout()方法。要提供淡出时间(毫秒数,即千分之一秒)作为参数。例如pygame.mixer.music. fadeout(2000)会让声音在2秒内淡出。

动手试一试

我们已经在网站上提供了加入声音的猜数程序的代码,见TIO_CH19_1.py。

测试题三、

1、 GUl图形元素有3个名字,分别是控件、部件和组件。

2、 要进入一个菜单,与Alt同时按下的字母叫做热键。

3、 PythonCard资源文件要以rsrc.py结尾。

4、 使用PythonCard的GUI中可以包含以下组件类型:按钮、复选框、计量器、列表、单选钮组、滑动条、文本域、图像、静态文本以及很多其他组件。查看资源编辑器的Component菜单,可以看到全部组件类型。

5、 要让组件完成某项工作,需要一个事件处理器。

6、 在PythonCard菜单编辑器中要使用&(与字符)定义热键。

7、 PythonCard中微调框的内容总是一个整数。

动手试一试

1、 我们已经在网站上给出了使用PythonCard完成的猜数程序,见TIO_CH_1.py和TIO_CH20_1.rsrc.py。

2、 要解决这个微调框问题,需要在资源编辑器中选择微调组件。在属性编辑器中改变min和max属性,min属性应当取一个很小的值,比如-1000,max可以非常大,比如1000000.

相关文章

Python+OpenCV实现将图像转换为二进制格式

在学习tensorflow的过程中,有一个问题,tensorflow在训练的过程中读取的是二进制图像数据库文件,而不是图像文件,因此 在进行训练、测试之前需要将图像文件转换为二进制格式。...

python列表每个元素同增同减和列表元素去空格的实例

python列表每个元素同增同减和列表元素去空格的实例

如下所示: import os var = [1, 2, 3] data = [x*2 for x in var] print (data) two = [[i, i**2] f...

树莓派+摄像头实现对移动物体的检测

树莓派+摄像头实现对移动物体的检测

在上一篇文章中实现了树莓派下对摄像头的调用,有兴趣的可以看一下:python+opencv实现摄像头调用的方法 接下来,我们将使用python+opencv实现对移动物体的检测 一、环境...

python基础教程之Filter使用方法

python Filter Python中的内置函数filter()主要用于过滤序列。 和map类似,filter()也接收一个函数和序列,和map()不同的是,filter()把传入...

Python简单过滤字母和数字的方法小结

本文实例讲述了Python简单过滤字母和数字的方法。分享给大家供大家参考,具体如下: 实例1 crazystring = 'dade142.!0142f[., ]ad' # 只保留数...