python二级考试操作题8Word下载.docx
《python二级考试操作题8Word下载.docx》由会员分享,可在线阅读,更多相关《python二级考试操作题8Word下载.docx(10页珍藏版)》请在冰豆网上搜索。
13
本题支持自动评阅。
s=input()#请输入一个由1和0组成的二进制数字串:
d=0whiles:
d=d*2+(ord(s[0])-ord('
0'
))
s=s[1:
]print("
{}"
.format(d))
#需要掌握print和format的格式用法,字符串的内置处理函数
3.103
参照代码模板完善代码,实现下述功能,本题支持自动评阅:
计算两个向量的内积。
从键盘接收一个整数n,作为一维向量的长度;
然后输入n个整数,以英文逗号隔开,存成一个向量x,然后再接收另n个整数,以逗号隔开,存成另一个向量y,然后计算两个向量对应元素的乘积的和。
在屏幕上输出结果。
示例如下:
3
1,2,3
4,5,6
x和y的内积是:
32
答案:
n=eval(input())#"
请输入向量的长度n:
"
xin=input().split('
'
)#"
请输入向量x的{}个整数,以英文逗号分隔:
.format(n)
yin=input().split('
请输入向量y的{}个整数,以英文逗号分隔:
.format(n)sum=0foriinrange(n):
sum+=int(xin[i])*int(yin[i])print("
sum)
要点:
1.要用输入进去的n来给用户提示,所以在input里用到了format()
2.输入的数据是带逗号的字符串格式,需要分割并且放到列表里,用到split()
3.求内积的公式需要记住,这属于基础知识
4.列表里的数据仍然还是字符串,所以计算的时候,每个元素要单个的用int做转换,成为证书,也可以用eval
5.题目没要求处理输入的异常,自己可以扩展一下,处理输入的异常,给出错误提示,不要让程序异常退出。
4.201
在代码模板中给出了程序框架,请按照框架中的说明,完善横线处代码,不得修改其它代码。
使用turtle库的turtle.circle()函数和turtle.seth()函数绘制套圈,最小的圆圈半径为10像素,不同圆圈之间的半径差是40像素。
效果如下图所示。
---------------------------------------------------------------
自动评阅说明
使用字符串形式输出____①____,____②____,____③____中应填代码即可以自动评阅得分
例如,如果代码为:
#代码模板|#你的代码importturtle|importturtle
d=0|d=0foriinrange(__1__):
|foriinrange
(1):
turtle.fd(__2__)|turtle.fd(100)
turtle.__3__|turtle.fd(100+(i*3))
turtle.seth(d)|turtle.seth(d)
则在提交代码页面输入:
print('
1'
'
100'
fd(100+(i*3))'
)
提交后即可以查看得分
注:
如果有运算符,请在运算符两侧加上空格
importturtle
r=10
head=90foriinrange(4):
turtle.seth(head)
turtle.circle(r)
r=r+40
turtle.done()
会使用turtle库的主要函数,并利用循环结构提高代码简洁性
5.202
在代码模板中给出了程序框架,根据文件内的提示补充完善代码,可以修改其他代码。
从键盘输入一个中文字符串变量s,内部包含中文逗号和句号。
问题1:
(8分)计算字符串s中的中文字符个数,不包括中文逗号和句号字符。
输入:
没有人不爱惜他的生命,但很少人珍视他的时间。
输出:
中文字符数为20。
问题2:
(7分)用jieba分词后,显示分词的结果,用”/”分隔。
并显示输出分词后的中文词语的个数,不包含逗号和句号。
没有/人/不/爱惜/他/的/生命/但/很少/人/珍视/他/的/时间/
中文词语数为14
自动评阅要求问题1
和2
同时输出,见示例。
示例1
中文词语数为14。
importjieba
s=input()#请输入一个中文字符串,包含逗号和句号
s=s.replace("
,"
"
).replace("
。
n=len(s)
k=jieba.lcut(s)
m=len(k)foriink:
print(i,end="
/"
)print("
\n中文词语数为{}。
.format(m))print("
中文字符数为{}。
.format(n))
会使用jieba分词的主要函数
6.301
使用字典和列表型变量完成学生通讯录管理,名单由考生目录下文件address.txt给出,每行是一个学生的信息。
学号,姓名,电话号码,地址
101,aa,12345678,Beijing
102,bb,23456781,shanghai
…
在屏幕上显示功能菜单,功能菜单示例如下:
1.显示所有信息
2.追加信息
3.删除信息
请输入数字1-3选择功能:
接收用户输入数字选择功能,如果输入错误,要求用户重新输入。
如果输入正确,在屏幕上显示提示语句:
您选择了功能1/2/3.(5分)
在问题1的代码基础上完善代码,实现下述功能。
实现功能1——当用户选择1的时候,从通讯录文件读取信息,显示所有信息。
(5分)
1
问题3:
在问题2的代码基础上完善代码,实现下述功能。
实现功能2——追加信息。
让用户从键盘输入一个学生的信息,用逗号隔开。
在屏幕上显示追加后的所有信息,并将信息写入文件new_address.txt中,文件格式与address相同。
(10分)
New_address.txtd内容示例如下:
103,cc,34567,tianj
问题1
您选择了功能1.
问题2
问题3
2
内容输出到文件中,new_address.txt
本题输出较为复杂,暂不支持自动评阅。
ok'
)
提交即可得分。
#P301-1
menu=["
1.显示所有信息"
2.追加信息"
3.删除信息"
]
flag=1whileflag:
forminmenu:
print(m)
try:
ch=int(input("
))
flag=0
except:
flag=1
ifch<
1orch>
3:
print("
您选择了功能"
ch)
#P301-2##-*-coding=utf-8-*-defdisplay():
fi=open("
text.csv"
r'
forlinfi:
l=l.replace('
\n'
'
print(l)
fi.close()
#
ifch==1:
display()elifch==2:
passelifch==3:
pass
#P301-3defdisplay():
address.txt"
fi.close()
definsertrec():
fo=open("
new_address.txt"
w'
la=[]
la.append(l.replace('
rec=input("
请输入要插入的信息,以逗号隔开,示例:
103,cc,34567812,tianjing:
la.append(rec)
forlinla:
fo.write(l)
fo.write('
fo.close()
insertrec()elifch==3:
pass#
这个题目演示了一个简单的交互式的信息管理软件的开发思路,分为三个小题目,循序渐进,逐步扩展。
从菜单的显示到循环接收用户输入选项,主要使用了列表的显示,while循环结构和for循环结构,以及用try-except来处理用户输入异常。
利用功能函数的定义和调用,优化了整个程序的结果,使得主程序只负责流程和交互,而让一个个小函数来完成具体的功能。
因题量的限制,只检测了显示和插入功能,实际上根据这个思路,还可以有很多信息处理的功能,例如追加、删除、修改其中的信息项目等。
学生在做完本考题后,可以自己扩展题目的要求,在此基础上自己加强训练。
(注:
文档可能无法思考全面,请浏览后下载,供参考。
可复制、编制,期待你的好评与关注!