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


Posted in Python onMay 27, 2018

测试题一、

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 相关文章推荐
用Python的urllib库提交WEB表单
Feb 24 Python
详解Python的单元测试
Apr 28 Python
Python制作钉钉加密/解密工具
Dec 07 Python
Python实现自动登录百度空间的方法
Jun 10 Python
PyQt5每天必学之组合框
Apr 20 Python
python numpy 按行归一化的实例
Jan 21 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
Nov 08 Python
Django 自动生成api接口文档教程
Nov 19 Python
Python +Selenium解决图片验证码登录或注册问题(推荐)
Feb 09 Python
解析Python 偏函数用法全方位实现
Jun 26 Python
python操作redis数据库的三种方法
Sep 10 Python
Ubuntu20下的Django安装的方法步骤
Jan 24 Python
儿童python练习实例
May 27 #Python
django输出html内容的实例
May 27 #Python
Python中判断输入是否为数字的实现代码
May 26 #Python
用PyInstaller把Python代码打包成单个独立的exe可执行文件
May 26 #Python
使用PyInstaller将python转成可执行文件exe笔记
May 26 #Python
Python带动态参数功能的sqlite工具类
May 26 #Python
通过Py2exe将自己的python程序打包成.exe/.app的方法
May 26 #Python
You might like
NOT NULL 和NULL
2007/01/15 PHP
DOM XPATH获取img src值的query
2013/09/23 PHP
php使用json_encode对变量json编码
2014/04/07 PHP
php操作xml入门之cdata区段
2015/01/23 PHP
PHP获取二维数组中某一列的值集合
2015/12/25 PHP
Extjs学习笔记之一 初识Extjs之MessageBox
2010/01/07 Javascript
使用Json比用string返回数据更友好,也更面向对象一些
2011/09/13 Javascript
Jqgrid表格随窗口大小改变而改变的简单实例
2013/12/28 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
2015/02/03 Javascript
jquery特效 点击展示与隐藏全文
2015/12/09 Javascript
js为什么不能正确处理小数运算?
2015/12/29 Javascript
jQuery与Ajax以及序列化
2016/02/01 Javascript
JavaScript中输出信息的方法(信息确认框-提示输入框-文档流输出)
2016/06/12 Javascript
怎样判断jQuery当前元素是隐藏还是显示
2016/11/23 Javascript
浅谈jQuery的bind和unbind事件(绑定和解绑事件)
2017/03/02 Javascript
VueRouter导航守卫用法详解
2017/12/25 Javascript
详解Vue内部怎样处理props选项的多种写法
2018/11/06 Javascript
nodejs 使用 js 模块的方法实例详解
2018/12/04 NodeJs
JS数组Object.keys()方法的使用示例
2019/06/05 Javascript
利用d3.js制作连线动画图与编辑器的方法实例
2019/09/05 Javascript
layer 关闭指定弹出层的例子
2019/09/25 Javascript
js 动态校验开始结束时间的实现代码
2020/05/25 Javascript
[00:50]深扒TI7聊天轮盘语音出处6
2017/05/11 DOTA
[01:16:16]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第二场 1月8日
2021/03/11 DOTA
Python使用正则匹配实现抓图代码分享
2015/04/02 Python
python 中的divmod数字处理函数浅析
2017/10/17 Python
详解如何用OpenCV + Python 实现人脸识别
2017/10/20 Python
Python Unittest根据不同测试环境跳过用例的方法
2018/12/16 Python
Python numpy.zero() 初始化矩阵实例
2019/11/27 Python
详解Django3中直接添加Websockets方式
2020/02/12 Python
Python 序列化和反序列化库 MarshMallow 的用法实例代码
2020/02/25 Python
Perfumetrader荷兰:香水、化妆品和护肤品在线商店
2017/09/15 全球购物
医院院务公开实施方案
2014/05/03 职场文书
民族精神月活动总结
2014/08/28 职场文书
博物馆观后感
2015/06/05 职场文书
学习nginx基础知识
2021/09/04 Servers