《与孩子一起学编程》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连接mongodb密码认证实例

如下所示: from pymongo import MongoClient #建立和数据库系统的连接,指定host及port参数 client = MongoClient('loca...

python中web框架的自定义创建

一、什么是框架 框架的本质就是一个socket服务,可以完成不同主机之间的通信。它是一个半成品的项目,其中可能已经封装好了基本的功能,比如路由,模型,模板,视图功能都已完善,又可能它只封...

解决pycharm最左侧Tool Buttons显示不全的问题

解决pycharm最左侧Tool Buttons显示不全的问题

问题描述如下: 解决方案如下: 下图中字体调整为18及以上 效果如下: 以上这篇解决pycharm最左侧Tool Buttons显示不全的问题就是小编分享给大家的全部内容了,希望能...

在Django中同时使用多个配置文件的方法

我们仅仅处理一个单一的设置文件 settings.py文件由django-admin.py startproject命令生成。但是当你准备要进行配置的时候,你将发现你需要多个配置文件以使...

python定时器使用示例分享

复制代码 代码如下:class SLTimer(multiprocessing.Process):    #from datetime import dat...