《与孩子一起学编程》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使用百度API上传文件到百度网盘代码分享
Nov 08 Python
详解Python中find()方法的使用
May 18 Python
python实现SOM算法
Feb 23 Python
对python插入数据库和生成插入sql的示例讲解
Nov 14 Python
利用Python如何实现一个小说网站雏形
Nov 23 Python
使用Python控制摄像头拍照并发邮件
Apr 23 Python
Python中的asyncio代码详解
Jun 10 Python
django 实现celery动态设置周期任务执行时间
Nov 19 Python
Django-celery-beat动态添加周期性任务实现过程解析
Nov 26 Python
Python实现迪杰斯特拉算法并生成最短路径的示例代码
Dec 01 Python
python使用scapy模块实现ARP扫描的过程
Jan 21 Python
python3实现Dijkstra算法最短路径的实现
May 12 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
php中++i 与 i++ 的区别
2012/08/08 PHP
php全排列递归算法代码
2012/10/09 PHP
PHP数组排序函数合集 以及它们之间的联系分析
2013/06/27 PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
2015/06/24 PHP
js类的静态属性和实例属性的理解
2009/10/01 Javascript
10款非常有用的 Ajax 插件分享
2012/03/14 Javascript
JS动态添加option和删除option(附实例代码)
2013/04/01 Javascript
JS实现的鼠标跟随代码(卡通手型点击效果)
2015/10/26 Javascript
AngularJS 中的指令实践开发指南(一)
2016/03/20 Javascript
jquery动态切换背景图片的简单实现方法
2016/05/14 Javascript
JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
2016/05/31 Javascript
AngularJS入门教程之数据绑定原理详解
2016/11/02 Javascript
Vue实例简单方法介绍
2017/01/20 Javascript
node.js实现复制文本到剪切板的功能
2017/01/23 Javascript
C#微信小程序服务端获取用户解密信息实例代码
2017/03/10 Javascript
js用类封装pop弹窗组件
2017/10/08 Javascript
JS实现中文汉字按拼音排序的方法
2017/10/09 Javascript
浅析微信扫码登录原理(小结)
2018/10/29 Javascript
node.js的Express服务器基本使用教程
2019/01/09 Javascript
有关wxpython pyqt内存占用问题分析
2014/06/09 Python
python脚本内运行linux命令的方法
2015/07/02 Python
python字符串,数值计算
2016/10/05 Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
2018/10/14 Python
解决pyttsx3无法封装的问题
2018/12/24 Python
python实现AES和RSA加解密的方法
2019/03/28 Python
Python:合并两个numpy矩阵的实现
2019/12/02 Python
python 列表、字典和集合的添加和删除操作
2019/12/16 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
2020/03/03 Python
哪些是python中web开发框架
2020/06/17 Python
python数据类型强制转换实例详解
2020/06/22 Python
什么是跨站脚本攻击
2014/12/11 面试题
科研先进个人典型材料
2014/01/31 职场文书
机械设计毕业生自荐信
2014/02/02 职场文书
2015年学校总务处工作总结
2015/05/19 职场文书
2015年小学远程教育工作总结
2015/07/28 职场文书
TV动画《政宗君的复仇》第二季制作决定PV公布
2022/04/02 日漫