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

yipeiwu_com7年前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实现求最长回文子串长度

给定一个字符串,求它最长的回文子串长度,例如输入字符串'35534321',它的最长回文子串是'3553',所以返回4。 最容易想到的办法是枚举出所有的子串,然后一一判断是否为回文串,返...

Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度

Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度

前言 matplotlib.pyplot是一些命令行风格函数的集合,使matplotlib以类似于MATLAB的方式工作。每个pyplot函数对一幅图片(figure)做一些改动:比如创...

对json字符串与python字符串的不同之处详解

API的应用通常会处理json数据,刚好今天看到了json字符串和python字符串的区别,放一段代码,区别一下子就看出来,的确json 库为处理Json 数据提供了不少的便利。 i...

详解Python logging调用Logger.info方法的处理过程

详解Python logging调用Logger.info方法的处理过程

本次分析一下Logger.info的流程 1. Logger.info源码: def info(self, msg, *args, **kwargs): """ Log...

python pip安装包出现:Failed building wheel for xxx错误的解决

出现原因:缺失相应的whl文件。 解决办法:下载并安装对应的whl文件。 提供一个whl文件的下载网址:http://www.lfd.uci.edu/~gohlke/pythonlibs...