Python编程习题题库试卷及答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1章 Python简介
1.Hello World程序
编写一个Hello World程序文件hello.py,并在命令行窗口中运行该程序。

参考代码:
2.交谈程序
编写一个交谈程序文件talk.py,运行时先输出“请问您贵姓?”,并在用户输入某姓氏之后输出“您好,某同学!”。

参考代码:
3.实践:从镜像站安装Python官方发行版
在大陆访问Python官方网站地速度较慢,因此推荐从国内镜像站下载Python官
在华为镜像站首页搜索Python,即可打开Python官方发行版安装包目录列表
4.实践:在Android设备上安装Python开发环境
要使用Android设备学习Python编程,可从下列站点获取Pydroid 3:ApkDownloadforAndroid
下载apk文件在Andoroid设备上安装App即可使用
5.实践:Python版扫雷游戏
在GitHub下载Python版扫雷游戏此程序基于Python标准库地图形用户界面工具包tkinter,解压缩后即可在Python官方发行版环境下直接运行,包含一个Python程序文件与一些图片文件,共255行代码。

第2章对象与类型
1.基本运算
编写一个程序,运行时输入以英文逗号分隔地两个数值,输出两数之与,差,积,商。

参考代码:
2.单词反转
编写一个程序,将用户输入地英文短句中每个单词在句子中地位置进行反转后输出(单词间均以空格分隔,不必考虑标点符号问题)。

示例输入:
nothing gold can stay
示例输出:
stay can gold nothing
参考代码:
3.输出田字格
编写一个程序,输出由字符构成地田字格,如下图所示:
参考代码:
4.数字反转
将“整数反转”实例程序改进为“数字反转”程序:用户可以输入任意一个整数或小数,输出各位反转后地数字。

原数字如果末尾是0则结果应去除开头地0,原数字如果是负数则结果应保留负号。

示例输入1:
365
示例输出1:
563
示例输入2:
3.14
示例输出2:
41.3
参考代码:
5.生成字符串
编写生成字符串地程序,运行时输入一段英文文本,输出由该段文本开头两个与末尾两个字符组成地新字符串。

如果输入地文本长度小于2,则返回EmptyString
示例输入1:
w3resource
示例输出1:
w3ce
示例输入2:
w3
示例输出2:
w3w3
参考代码:
第3章模块与库
1.抽签程序
编写简单地抽签程序,运行时输入一个整数n,随机输出一个1到n范围内地整数。

示例输入:
7
示例输出:
3
参考代码:
2.笑脸图案
编写turtle绘图程序,通过简单地几何形状组合出一张笑脸,参考下图:参考代码:
3.实践:Python地数字舍入规则
对于Python地数字舍入规则“四舍六入五成双”,可以查阅官方文档标准库参考页对round函数地说明来了解它地准确含义
这个规则地实质就是在上下两边选择一个更接近地值,例如:
这个规则中最关键地一点是当要舍去地值为5时,与上下两边地位值恰好同样接近,那么将会选择舍入到位值为偶数地一方,这样向上舍入与向下舍入地几率各为50%,处理大量数据时就不会像四舍五入规则那样产生累积地舍入误差,因而更为合理:
还有一种看起来很怪异地情况,当0.15保留1位小数时将舍入到0.1而不是0.2:
其中地原因在于浮点数所固有地精度限制,下面是使用Decimal类型查看浮点数地内部实际值,可以看到0.15地实际值略小于显示值,而0.1与0.2地实际值略大于对应显示值,所以0.15其实就是舍入到了更接近地值而已:
当向Decimal类型构造器传入字符串"0.15"来精确地表示0.15,保留1位小数时就会正确地舍入到0.2:
4.实践:从镜像站安装Anaconda发行版
5.求正弦值
编写求正弦值地程序,输入角度n,输出其正弦sin(n),至多保留2位小数
参考代码:
资源链接
第4章流程控制
1.考拉兹序列
编写程序打印考拉兹序列,输入任意一个正整数,如果为奇数则将其乘3加1,如果为偶数则将其除以2,输出结果值并再次对结果值执行上述操作,如此循环直到结果值为1时结束。

示例输入:
3
示例输出:
10 5 16 8 4 2 1
参考代码:
2.方形螺旋线图案
编写turtle绘图程序,生成一个方形螺旋线图案,参考下图:
参考代码:
3.实践:蒙特卡罗方法计算圆周率
使用蒙特卡罗方法计算圆周率:半径为1地圆面积即圆周率pi,在单位正方形内随机生成大量地点,则与原点距离小于于1地点数hits与总点数darts之比将趋向于pi/4,因此pi=hits/darts*4
参考代码:
4.实践:使用循环结构绘制任意图案
使用turtle模块自行编写绘制任意形状与颜色图案地程序,必须使用循环结构。

参考代码:
5.区间求闰年个数
编写区间求闰年个数程序,运行时输入以逗号分隔地两个年份,输出该区间内(包含这两个年份)总共有多少个闰年。

闰年地判断条件:能被4整除但不能但100整除,或者能被400整除。

参考代码:
资源链接
第5章自定义函数
1.平均值函数
自定义一个平均值函数average,可以传入任意多个数值参数,返回它们地平均值(保留至多两位小数),并在程序中使用该函数计算用户输入地多个数值地平均值。

示例输入:
5, 8, 16, 5.8, 20
示例输出:
10.96
参考代码:
2.六角星函数
自定义一个绘制六角星函数star6p,以指定位置为中心绘制指定大小地六角星,并使用该函数并排绘制三颗六角星,中间一颗较大,旁边两颗较小。

参考下图:
参考代码:
3.输出任意田字格
自定义函数cells(n),输出由字符构成地n*n田字格:
参考代码:
自定义绘制大小为size阶数为n地科赫曲线地函数koch(size, n),并调用此函数生成“科赫雪花”图案。

参考代码:
编写程序定义指定中心点坐标与外接圆半径绘制五角星地函数,并绘制五星红旗。

参考代码:
资源链接
第6章序列类型
1.打印并列地条目
编写程序打印并列地条目,将用户输入地以空格分隔地多个条目以顿号并列地形式打印出来。

示例输入:
韩国日本美国
示例输出:
韩国,日本,美国与
参考代码:
2.总成绩排序
给定一个学生成绩列表grades,其中每一项为学号与三门课程成绩组成地四元组:
grades = [
("202001", 85, 92, 73),
("202002", 68, 70, 53),
("202003", 72, 58, 77),
("202004", 95, 89, 91),
("202005", 65, 73, 89)]
要求按总成绩从高到低排序打印输出,如下所示。

202004 95 89 91 275
202001 85 92 73 250
202005 65 73 89 227
202003 72 58 77 207
202002 68 70 53 191
参考代码:
3.验证陷阱数495
任意输入一个三位数(各位上地数字不同),然后用其各位上地数字组成一个最大数与最小数,并用最大数减去最小数,得到一个新地三位数,重复上面地过程,最终数字必定会停在495这个“陷阱数”上。

请编程验证这个命题。

参考代码:
4.实践:Python数组类型
Python标准库array模块提供了高效地数值数组类型array。

数组属于序列类型,其行为与列表非常相似,不同之处在于其中存储地对象类型是受限地。

例如以下代码将构造一个整型数组a:
数组a添加一个列表中地元素:
数组a转换为列表:
5.实践:计算基本统计值
编写计算基本统计值地程序,输入一组数据,输出基本统计值
●平均值:对所有项求与,再除以总项数
●中位数:各项值排序后,对奇数个取居中地数,对偶数个则取居中两数地平均值●标准差:对各项值与平均值地差地平方求与,再除以总项数减一,再求平方根示例代码:
资源链接
第7章映射与集合
1.条目计数
编写一个条目计数程序,用户输入以空格分隔地条目,其中可能存在重复,输出条目名称与对应数量,按数量从多到少排序。

示例输入:
牛牛鸡猪马鸡羊羊马羊牛羊猪
示例输出:
羊: 4
牛: 3
鸡: 2
猪: 2
马: 2
(变化形式)输入方式改为多次输入,以回车结束;输出方式改为单行输出,以空格分隔参考代码:
2.两个骰子地组合
编写一个程序输出同时掷出两个骰子所有可能地结果组合(例如1,2与2,1为同一组合,不应重复输出)。

输出应如下所示。

1+1, 1+2, 1+3, ...
参考代码:
3.两个字典地比对
给定两个字典d1与d2,请输出一个新地字典,其元素是不同时存在于字典d1与d2地元素。

参考代码:
4.实践:英文词频统计
对“Zen of Python”中各个单词地出现次数进行统计并降序输出。

参考代码:
5.实践:莫尔斯电码转换
编写程序实现莫尔斯电码地转换。

莫尔斯电码是一种早期地数字化通信形式,编码主要由两个字符表示:“.”与“-”,即短信号与长信号。

参考代码:
资源链接
第8章文件与目录1.自定义函数统计
编写一个自定义函数统计程序:统计练习项目中所有程序文件中自定义函数地数量(即def语句使用次数),输出频度最高地前20个名称。

参考代码:
2.压缩备份程序
编写一个压缩备份程序backup.py:使用命令行参数指定目录或文件,打包为zip归档文件(zip文件名即指定地目录或文件名)。

例如输入以下命令将会创建包含指定目录全部内容地归档文件D:\pyAbc.zip:
python backup.py D:\pyAbc
参考代码:
3.实践:根据CSV数据生成HTML表格根据从CSV文件读取地内容来生成HTML表格pany.csv:
公司名称,成立年份,创始人,总部城市
华为,1987,任正非,深圳
腾讯,1998,马化腾,深圳
阿里巴巴,1999,马云,杭州
百度,2000,李彦宏,北京
参考代码(使用Jupyter Notebook):
4.实践:图像处理库Pillow
安装第三方包pillow进行图像处理
参考代码(使用Jupyter Notebook):
使用图像模块Image
图片生成缩略图
图片旋转180度
图片转换为灰度模式
图像加强模块ImageEnhance:亮度加强
对比度加强
图像滤镜模块ImageFilter:浮雕滤镜
轮廓滤镜
图像绘图模块ImageDraw,图像字体模块ImageFont:图片添加图形与文本
图片保存为指定格式地文件
打开EPS格式地图片文件
5.实践:操作《三国演义》文本文件
使用“ThreeKingoms.txt”练习文本文件地读写操作,下载链接:
提取《三国演义》地所有回目保存为文本文件“三国演义回目.txt”
提取《三国演义》地所有回目与各章回前100字保存为“三国演义摘要.txt”
注意:以上代码中指定地编码格式utf-8-sig适用于Windows系统专属地UTF-8文本文件,它与标准UTF-8地唯一区别是在开头有一个“字节顺序标记”(BOM),对UTF-8+BOM地文本文件使用utf-8解码时会在开头显示一个特殊Unicode字符\ufeff,而使用utf-8-sig解码时则会自动去掉这个字符。

相关说明见
统计出现次数排前十位地人名
资源链接
第9章图形用户界面
1.贷款计算器
使用tkinter编写一个贷款计算器程序:输入贷款总额,年利率与还款年限,点击“开始计算”按钮即显示每月还款额与还款总额。

参考下图地效果:
参考代码:
2.展示颜色表
使用tkinter改写之前地“颜色名称展示”程序:从文件中读取颜色数据,显示每种颜色方块与颜色名称。

参考代码:
3.实践:设置窗口颜色
使用tkinter编写设置窗口颜色程序。

参考代码:
4.实践:简易数字时钟
使用tkinter编写简易数字时钟程序。

参考代码:
5.实践:掷骰子游戏
使用tkinter编写掷骰子游戏:两个玩家轮流掷骰子比大小,并记录双方获胜次数。

参考代码:
资源链接。

相关文档
最新文档