python二级考试操作题.docx
- 文档编号:3135256
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:13
- 大小:76.38KB
python二级考试操作题.docx
《python二级考试操作题.docx》由会员分享,可在线阅读,更多相关《python二级考试操作题.docx(13页珍藏版)》请在冰豆网上搜索。
python二级考试操作题
描述
参照代码模板完善代码,实现下述功能。
输入一个字符串,其中的字符由(英文)逗号隔开,编程将所有字符连成一个字符串,输出显示在屏幕上。
输入输出示例
输入
输出
示例1
1,2,3,4,5
12345
习题讲解
答案:
ls=input("请输入一个字符串,由逗号隔开每个字符:
").split(',')
(1)
print(''.join(ls))
(2)
要点:
1.题目要求输入的字符用逗号隔开,所以,需要用到split(',')来从字符串里提取所输入的字符
2.经过split()函数的字符串,返回的是列表
3.字符串有个操作函数是(ls),可以把列表里的各个元素,用str的内容连接起来。
本题利用了空字符串‘’,来调用这个函数,因此,达到了所想要的效果:
将带有逗号的字符串变换成了没有逗号的字符串。
4.有一个不可忽视的地方是join()函数的括号里的参数是列表,如果忘了这一点,会犯错
5.这个功能利用好了,可以拓展,解决其他的问题。
描述
参照代码模板完善代码,实现下述功能。
有一个列表studs如下:
studs=[{'sid':
'103','Chinese':
90,'Math':
95,'English':
92},{'sid':
'101','Chinese':
80,'Math':
85,'English':
82},{'sid':
'102','Chinese':
70,'Math':
75,'English':
72}]
将列表studs的数据内容提取出来,放到一个字典scores里,在屏幕上按学号从小到大的顺序显示输出scores的内容。
内容示例如下:
101:
[85,82,80]
102:
[75,72,70]
103:
[95,92,90]
输入输出示例
输入
输出
示例1
无
101:
[85,82,80]
102:
[75,72,70]
103:
[95,92,90]
习题讲解
答案:
studs=[{'sid':
'103','Chinese':
90,'Math':
95,'English':
92},{'sid':
'101','Chinese':
80,'Math':
85,'English':
82},{'sid':
'102','Chinese':
70,'Math':
75,'English':
72}]
scores={}
forstudinstuds:
sv=()
v=[]
foritinsv:
ifit[0]=='sid':
k=it[1]
else:
(it[1])
scores[k]=v
#print(scores)
so=list())
(key=lambdax:
x[0],reverse=False)
forlinso:
print('{}:
{}'.format(l[0],l[1]))
studs=[{'sid':
'103','Chinese':
90,'Math':
95,'English':
92},{'sid':
'101','Chinese':
80,'Math':
85,'English':
82},{'sid':
'102','Chinese':
70,'Math':
75,'English':
72}]
lit=[]
foriinstuds:
lst=[]
a=('sid')
('Chinese'))
('Math'))
('English'))
(reverse=True)
lat=[]
(a+":
")
(str(lst))
(lat)
()
foriinlit:
print("".join(i))
要点:
1.字典作为元素,定义在列表里,用列表的遍历就可以从中提取出来
2.提取出来的元素直接就是字典,因此可以用items()直接获取,形成键值对对象集合sv;
3.对键值对对象集合sv遍历,就可以以元组it的方式访问其中的每一对键值对,sv= (),是第一个空的答案;
4.题目要求提取学生的学号,所以需要比较键it[0]是否是'sid',是则将学号it[1]提取出来作为新的字典scores的键k;不是则将成绩提取出来作为新字典scores的值v;
5.由于课程是多门,因此新字典scores的值v需要以列表的方式,保存各门课程的成绩,所以在不是的情况下,新字典scores的值v是利用append(it[1])的方式,追加到列表的后面;
6.对v做append操作,必须要事先定义v是一个空列表;因此需要在对每一条旧字典stud的键值对信息做处理的foritinsv:
语句之前,用v=[]初始化v为一个空列表;
7.经过对一条字典stud的处理,就形成一对k和v,所以接下来是给新字典scores添加一条键值对,scores[k] =v,是第二个空的答案
8.经过对全部的studs列表里的各条字典处理完之后,新的scores字典就全部生成。
9.题目要求按学号从小到大的顺序输出学号和成绩,所以需要对字典的键值对内容items()提取到列表so里,此处是第三个空的答案:
so= list())
10.用Lambda函数进行排序。
这个不在考试范围里,所以代码模板直接给出语句;
11.对排好序的列表输出每组列表,这个直接给出语句,不再赘述。
描述
参照代码模板完善代码,实现下述功能。
从键盘输入一个用于填充的图符,一个字符串,一个要显示的字符串的总长度;编程将输入的字符串,居中输出显示在屏幕上,用填充图符补齐到输入的总长度。
如果总长度处输入的不是正整数,则提示请输入一个正整数,并重新提示输入,直至输入正整数。
输入:
请输入填充符号:
@
请输入要显示的字符串:
请输入字符串总长度:
r
请输入一个正整数
请输入字符串总长度:
请输入一个正整数
请输入字符串总长度:
4
输出:
@qq@
输入输出示例
输入
输出
示例1
@
4
@qq@
习题讲解
答案:
#请在____处填写一行代码#请在…处填写多行代码#不要修改已给出代码
a=input()#请输入填充符号
c=input()#请输要显示的字符串
flag=1
whileflag:
try:
b=eval(input())#请输入字符串总长度
except:
flag=1
print("请输入一个正整数")
else:
iftype(b)==intandb>0:
flag=0
else:
flag=1
print("请输入一个正整数")
print('{0:
{1}^{2}}'.format(c,a,b))
描述
参照代码模板完善代码,实现下述功能,不得修改其它代码。
使用turtle库的()函数和()函数绘制螺旋状的正方形,正方形边长从1像素开始,第一条边从0度方向开始,效果如下图所示。
---------------------------------------------------------------
自动评阅说明
使用字符串形式输出____①____,____②____,____③____中应填代码即可以自动评阅得分
例如,如果代码为:
#代码模板|#你的代码importturtle|importturtle
d=0|d=0foriinrange(__1__):
|foriinrange
(1):
(__2__)|(100)
d=__3__|d=(i+100)*100
(d)|(d)
则在提交代码页面输入:
print('1','100','(i+100)*100')
提交后即可以查看得分
注:
如果有运算符,请在运算符两侧加上空格
习题讲解
答案:
importturtle
d=0
k=1
forjinrange(10):
foriinrange(4):
(k)
d+=91
(d)
k+=2
()
要点:
1.降低了难度,让填写的都是最简单的
描述
参照代码模板完善代码,实现下述功能,可以修改其它代码。
附件文件中有一道Python选择题,第1行的第1个数据为题号,后续的4行是4个选项。
示例内容如下:
3.以下关于字典类型的描述,错误的是:
A.字典类型中的数据可以进行分片和合并操作
B.字典类型是一种无序的对象集合,通过键来存取
C.字典类型可以在原来的变量上增加或缩短
D.字典类型可以包含列表和其他数据类型,支持嵌套的字典
读取其中的内容,提取题干和四个选项的内容,利用jieba分词并统计出现频率最高的3个词,其中要删除以下的常用字和符号“的,:
:
可以是和中以下B”,作为该题目的主题标签,显示输出在屏幕上。
输入输出示例
输入
输出
示例1
从文件中读取所有内容
第3题的主题是:
类型:
5
集合:
2
组合:
2
习题讲解
答案:
importjieba
fi=open("",'r')
con=''
num=0
forlinfi:
l=('\n','').strip().split('.')
#print(l)
try:
ft=eval(l[0])
except:
pass
else:
num=ft
con+=l[1]
print('第{}题的主题是:
'.format(num))
conls=(con)
dict={}
forwordinconls:
dict[word]=(word,0)+1
dictls=list())
(key=lambdax:
x[1],reverse=True)
k=0
foritindictls:
ifit[0]in'的,:
:
可以是和中以下B':
continue
else:
ifk==3:
break
else:
print('{}:
{}'.format(it[0],it[1]))
k+=1
()
要点:
1.导入jieba库,使用lcut分词,返回列表conls
2.打开文件,读文件,关闭文件
3.按行从文件里读,每一行是一个字符串,用strip和split处理成列表,因为要识别题号,还要提取题目和选项的内容,所以要按照'.'分隔来提取,分别返回题号和选项号作为列表l的第0个字段,后面的内容是列表l的第一个字段;
4.为了识别题号,要利用eval,并逆向利用try-except结构捕捉第一个字段是整数的字段,把题号提取出来放到num里面,把其他的内容都用字符串加法,拼成一个大字符串con
5.给出第一句显示:
print('第{}题的主题是:
'.format(num))
6.接下来处理con,提取整个题干的主题词:
7.用jieba分词,然后用字典dict来保存没个词出现的次数。
一种惯用法是forwordinconls:
di
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- python 二级 考试 操作
![提示](https://static.bdocx.com/images/bang_tan.gif)