python二级考试操作题8.docx

上传人:b****6 文档编号:8313484 上传时间:2023-01-30 格式:DOCX 页数:10 大小:38.53KB
下载 相关 举报
python二级考试操作题8.docx_第1页
第1页 / 共10页
python二级考试操作题8.docx_第2页
第2页 / 共10页
python二级考试操作题8.docx_第3页
第3页 / 共10页
python二级考试操作题8.docx_第4页
第4页 / 共10页
python二级考试操作题8.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

python二级考试操作题8.docx

《python二级考试操作题8.docx》由会员分享,可在线阅读,更多相关《python二级考试操作题8.docx(10页珍藏版)》请在冰豆网上搜索。

python二级考试操作题8.docx

python二级考试操作题8

1.101

 

从键盘输入一个人的身高和体重的数字,以英文逗号隔开,在屏幕上显示输出这个人的身体质量指数(BMI),BMI的计算公式是BMI=体重(kg)/身高2(m2)。

参照代码模板完善代码,实现下述功能,本题支持自动评阅。

 

 

输入输出示例

 

输入

输出

示例1

1.6,50

BMI是19.5

习题讲解

h,w=eval(input())#请输入身高(m)和体重(kg),逗号隔开print("BMI是{:

.1f}".format(w/(h*h)))

#需要掌握浮点数的输出格式符和eval用法

2.102

 

参照代码模板完善代码,实现下述功能。

从键盘输入一个由1和0组成的二进制字符串s,转换为十进制数输出显示在屏幕上,示例如下:

 

输入

请输入一个由1和0组成的二进制数字串:

1101

输出

转换成十进制数是:

13

 

本题支持自动评阅。

 

输入输出示例

 

输入

输出

示例1

1101

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

 

输入输出示例

 

 

输入

输出

示例1

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("x和y的内积是:

",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。

中文字符数为20。

习题讲解

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:

参照代码模板完善代码,实现下述功能。

在屏幕上显示功能菜单,功能菜单示例如下:

1.显示所有信息

2.追加信息

3.删除信息

请输入数字1-3选择功能:

 

接收用户输入数字选择功能,如果输入错误,要求用户重新输入。

如果输入正确,在屏幕上显示提示语句:

您选择了功能1/2/3.(5分)

 

问题2:

在问题1的代码基础上完善代码,实现下述功能。

实现功能1——当用户选择1的时候,从通讯录文件读取信息,显示所有信息。

(5分)

示例如下:

1.显示所有信息

2.追加信息

3.删除信息

请输入数字1-3选择功能:

1

101,aa,12345678,Beijing

102,bb,23456781,shanghai

 

问题3:

在问题2的代码基础上完善代码,实现下述功能。

实现功能2——追加信息。

让用户从键盘输入一个学生的信息,用逗号隔开。

在屏幕上显示追加后的所有信息,并将信息写入文件new_address.txt中,文件格式与address相同。

(10分)

New_address.txtd内容示例如下:

101,aa,12345678,Beijing

102,bb,23456781,shanghai

103,cc,34567,tianj

 

输入输出示例

 

输入

输出

问题1

1

您选择了功能1.

问题2

1

101,aa,12345678,Beijing

102,bb,23456781,shanghai

问题3

 2

103,cc,34567,tianj

101,aa,12345678,Beijing

102,bb,23456781,shanghai

103,cc,34567,tianj

 

内容输出到文件中,new_address.txt

 

本题输出较为复杂,暂不支持自动评阅。

print('ok') 提交即可得分。

习题讲解

#P301-1

menu=["1.显示所有信息","2.追加信息","3.删除信息"]

flag=1whileflag:

forminmenu:

print(m)

try:

ch=int(input("请输入数字1-3选择功能:

"))

flag=0

except:

flag=1

ifch<1orch>3:

flag=1

print("您选择了功能",ch)

#P301-2##-*-coding=utf-8-*-defdisplay():

fi=open("text.csv",'r')

forlinfi:

l=l.replace('\n','')

print(l)

fi.close()

#

menu=["1.显示所有信息","2.追加信息","3.删除信息"]

flag=1whileflag:

forminmenu:

print(m)

try:

ch=int(input("请输入数字1-3选择功能:

"))

flag=0

except:

flag=1

ifch<1orch>3:

flag=1

ifch==1:

display()elifch==2:

passelifch==3:

pass

#P301-3defdisplay():

fi=open("address.txt",'r')

forlinfi:

l=l.replace('\n','')

print(l)

fi.close()

definsertrec():

fi=open("address.txt",'r')

fo=open("new_address.txt",'w')

la=[]

forlinfi:

la.append(l.replace('\n',''))

rec=input("请输入要插入的信息,以逗号隔开,示例:

103,cc,34567812,tianjing:

")

la.append(rec)

forlinla:

fo.write(l)

fo.write('\n')

fi.close()

fo.close()

menu=["1.显示所有信息","2.追加信息","3.删除信息"]

flag=1whileflag:

forminmenu:

print(m)

try:

ch=int(input("请输入数字1-3选择功能:

"))

flag=0

except:

flag=1

ifch<1orch>3:

flag=1

ifch==1:

display()elifch==2:

insertrec()elifch==3:

pass#

这个题目演示了一个简单的交互式的信息管理软件的开发思路,分为三个小题目,循序渐进,逐步扩展。

从菜单的显示到循环接收用户输入选项,主要使用了列表的显示,while循环结构和for循环结构,以及用try-except来处理用户输入异常。

利用功能函数的定义和调用,优化了整个程序的结果,使得主程序只负责流程和交互,而让一个个小函数来完成具体的功能。

因题量的限制,只检测了显示和插入功能,实际上根据这个思路,还可以有很多信息处理的功能,例如追加、删除、修改其中的信息项目等。

学生在做完本考题后,可以自己扩展题目的要求,在此基础上自己加强训练。

(注:

文档可能无法思考全面,请浏览后下载,供参考。

可复制、编制,期待你的好评与关注!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1