收藏 分销(赏)

python二级考试操作题8.doc

上传人:精**** 文档编号:2776707 上传时间:2024-06-05 格式:DOC 页数:14 大小:114.04KB 下载积分:8 金币
下载 相关 举报
python二级考试操作题8.doc_第1页
第1页 / 共14页
python二级考试操作题8.doc_第2页
第2页 / 共14页


点击查看更多>>
资源描述
(word完整版)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 = 0while s: 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 = 0for i in range(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 像素。效果如下图所示.   ----—-—-—----—--—--————-—--—-——————-—————----—-—---——-——---—-—— 自动评阅说明   使用字符串形式输出 ____①____,____②____,____③____中应填代码即可以自动评阅得分 例如,如果代码为: # 代码模板 | # 你的代码import turtle | import turtle d = 0 | d = 0for i in range(__1__): | for i in range(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))') 提交后即可以查看得分   注:如果有运算符,请在运算符两侧加上空格 习题讲解 import turtle r =10 head = 90for i in range (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。 习题讲解 import jieba s = input() # 请输入一个中文字符串,包含逗号和句号 s = s。replace(”,”,"")。replace(”。",”") n = len(s) k=jieba.lcut(s) m = len(k)for i in k: 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 = 1while flag: for m in menu: print(m) try: ch = int(input(”请输入数字1—3选择功能:”) ) flag =0 except: flag = 1 if ch 〈1 or ch > 3: flag = 1 print("您选择了功能", ch) #P301—2##-*— coding=utf-8 -*—def display(): fi = open(”text。csv”,’r’) for l in fi: l=l.replace(’\n',’') print(l) fi.close() # menu=[”1. 显示所有信息”,"2. 追加信息","3。 删除信息”] flag = 1while flag: for m in menu: print(m) try: ch = int(input(”请输入数字1—3选择功能:") ) flag =0 except: flag = 1 if ch <1 or ch 〉 3: flag = 1 if ch ==1: display()elif ch==2: passelif ch ==3: pass # P301—3def display(): fi = open(”address。txt",’r') for l in fi: l=l。replace(’\n','’) print(l) fi。close() def insertrec(): fi = open(”address.txt",'r') fo = open("new_address.txt",'w') la=[] for l in fi: la。append(l.replace('\n’,’’)) rec = input("请输入要插入的信息,以逗号隔开,示例:103, cc, 34567812, tianjing:”) la。append(rec) for l in la: fo.write(l) fo.write('\n’) fi.close() fo.close() menu=[”1。 显示所有信息","2。 追加信息”,”3. 删除信息"] flag = 1while flag: for m in menu: print(m) try: ch = int(input(”请输入数字1-3选择功能:") ) flag =0 except: flag = 1 if ch <1 or ch 〉 3: flag = 1 if ch ==1: display()elif ch==2: insertrec()elif ch ==3: pass# 这个题目演示了一个简单的交互式的信息管理软件的开发思路,分为三个小题目,循序渐进,逐步扩展.从菜单的显示到循环接收用户输入选项,主要使用了列表的显示,while循环结构和for循环结构,以及用try—except来处理用户输入异常.利用功能函数的定义和调用,优化了整个程序的结果,使得主程序只负责流程和交互,而让一个个小函数来完成具体的功能.因题量的限制,只检测了显示和插入功能,实际上根据这个思路,还可以有很多信息处理的功能,例如追加、删除、修改其中的信息项目等。学生在做完本考题后,可以自己扩展题目的要求,在此基础上自己加强训练。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服