计算机二级(python)【二】

真题5

1、考生文件夹下存在一个文件PY101.py,请写代码替换横线,不修改其他代码,实现以下功能:

键盘输入正整数n,按要求把n输出到屏幕,格式要求:宽度为15个字符,数字右边对齐,不足部分用*填充。

例如:键盘输入正整数n为1234,屏幕输出***********1234

代码

n = eval(input("请输入正整数:"))
print("{:*>15}".format(n))

2、考生文件夹下存在一个文件PY102.py,请写代码替换横线,不修改其他代,实现以下功能:

a和b是两个长度相同的列表变量,列表a为[3,6,9]已给定,键盘输入列表b,计算a中元素与b中对应元素的和形成新的列表c,在屏幕上输出。

例如:键盘输入列表b为[1,2,3],屏幕输出计算结果为[4,8,12]

代码

a = [3,6,9]
b =  eval(input()) #例如:[1,2,3]
c = []
for i in range(3):c.append(a[i]+b[i])
print(c)

3、考生文件夹下存在一个文件PY103.py,请写代码替换横线,不修改其他代码,实现以下功能:

以0为随机数种子,随机生成5个在1(含)到97(含)之间的随机数,计算这五个随机数的平方和。

代码

import random
random.seed(0)
s = 0
for i in range(5):n = random.randint(1,97)  # 产生随机数s = s+n**2
print(s)

4、使用turtle库的turtle.fd()函数和turtle.seth()函数绘制一个边长为100的正八边形,在考生文件夹下给出了程序框架文件PY201.py,在横线处补充代码,不得修改其它代码。效果如下图所示。
在这里插入图片描述

代码

import turtle
turtle.pensize(2)
d = 0
for i in range(1,9):turtle.fd(100)d += 45turtle.seth(d)

5、使用字典和列表型变量完成村长选举。某村有40名有选举权和被选举权村民,名单由考生文件夹下文件name.txt给出,从这40名村民中选出一人当长,40人的投票信息由考生文件夹下文件vote.txt给出,每行是一张选票的信息,有效票中得票最多的村民当选。

问题1:请从vote.txt中筛选出无效票写入文件vote1.txt。有效票的含义是:选票中只有一个名字且该名字在name.txt文件列表中,不是有效票的票称为无效票。

问题2:给出当选村长的名字及其得票数。

在考生文件夹下给出了程序框架文件PY202.py,补充代码完成程序。

代码

f=open("name.txt")
names=f.readlines()
f.close()
f=open("vote.txt")
votes=f.readlines()
f.close()
f=open("vote1.txt","w")
D={}
NUM=0
for vote in votes:num = len(vote.split())  #分解成列表,并求列表长度(元素个数)if num==1 and vote in names:  #仅一个且在姓名中,有效D[vote[:-1]]=D.get(vote[:-1],0)+1NUM+=1else:f.write(vote)
f.close()        
l=list(D.items())
l.sort(key=lambda s:s[1],reverse=True)
name=l[0][0]
score=l[0][1]
print("有效票数为:{} 当选村长村民为:{},票数为:{}".format(NUM,name,score))

6、《三国演义》是中国古典四大名著之一,曹操是其中主要人物,考生文件夹文件data.txt给出《三国演义》简介。

问题1:请编写程序,用Python语言中文分词第三方库jieba对文件data.txt行分词,并将结果写入文件out.txt,每行一个词,例如:

内容简介

编辑

整个

故事

东汉

在考生文件夹下给出了程序框架文件PY301-1.py,补充代码完成程序(10分)

问题2:对文件out.txt进行分析,打印输出曹操出现次数。

在考生文件夹下给出了程序框架文件PY301-2.py,补充代码完成程序(10分)

问题一代码

import jieba
f = open('data.txt','r')   
lines = f.readlines()
f.close()
f = open('out.txt','w')    
for line in lines:     line = line.strip(' ')              #删除每行首尾可能出现的空格wordList = jieba.lcut(line)          #用结巴分词,对每行内容进行分词f.writelines('\n'.join(wordList))  #将分词结果存到文件out.txt中
f.close()

问题二代码

import jieba
f = open('out.txt','r')    #以读的方式打开文件
words = f.readlines()
f.close()
D={}
for w in words:        #词频统计D[w[:-1]]=D.get(w[:-1],0) + 1
print("曹操出现次数为:{}  ".format(D["曹操"]))

真题6

1、考生文件夹下存在一个文件PY101.py,请写代码替换横线,不修改其他代码,实现以下功能:

键盘输入正整数n,按要求把n输出到屏幕,格式要求:宽度为14个字符,数字中间对齐,不足部分用=填充。

例如:键盘输入正整数n为1234,屏幕输出=1234=

代码

n = eval(input("请输入正整数:"))
print("{:=^14}".format(n))

2、考生文件夹下存在一个文件PY102.py,请写代码替换横线,不修改其他代码,实现以下功能:

a和b是两个列表变量,列表a为[3,6,9]已给定,键盘输入列表b,将a列表的三个元素插入到b列表中对应的前三个元素的后面,并显示输出在屏幕上。

例如:键盘输入列表b为[1,2,3],因此,屏幕输出计算结果为[1,3,2,6,3,9]

代码

a = [3,6,9]
b = eval(input()) #例如:[1,2,3]
j=1
for i in range(len(a)):b.insert(j,a[i])j+= 2
print(b)

3、考生文件夹下存在一个文件PY103.py,请写代码替换横线,不修改其他代码,实现以下功能:

以100为随机数种子,随机生成3个在1(含)到9(含)之间的随机整数,计算这三个随机整数的立方和。

代码

import random
random.seed(100)  # 此处可多行
s = 0  # 
for i in range(3):n=random.randint(1,9)s=s+n**3# 此处可多行
print(s)

4、使用turtle库的turtle.fd()函数和turtle.seth()函数绘制一个边长为100像素的正五边形,在考生文件夹下给出了程序框架文件PY201.py,在横线处补充代码,不得修改其他代码。效果如下图所示。
在这里插入图片描述

代码

import turtle
turtle.pensize(2)
d = 0
for i in range(1,6):turtle.fd(100)d += 72turtle.seth(d)

5、使用字典和列表型变量完成最有人气的明星的投票数据分析。投票信息由考生文件夹下文件vote.txt给出,一行只有一个明星姓名的投票才是有效票。有效票中得票最多的明星当选最有人气的明星。

问题1:请统计有效票张数。在考生文件夹下给出了程序框架文件PY202-1.py,补充代码完成程序(7分)

问题2:请给出当选最有人气明星的姓名和票数,在考生文件夹下给出了程序框架文件PY202-2.py,补充代码完成程序(8分)。

问题一代码

f = open("vote.txt")
names = f.readlines()
f.close()
n = 0
for name in names:num = len(name.split())if num==1:n+=1
print("有效票{}张".format(n))

问题二代码

f = open("vote.txt")
names = f.readlines()
f.close()
D = {}
for name in names:if len(name.split())==1:D[name[:-1]]=D.get(name[:-1],0) + 1
l = list(D.items())
l.sort(key=lambda s:s[1],reverse=True)
name = l[0][0]
score = l[0][1]
print("最具人气明星为:{},票数为:{}".format(name,score))

6、考生文件夹下的文件data.txt是一个来源于网上的技术信息资料。

问题1:(10分)在考生文件夹下给出了程序框架文件PY301-1.py,补充代码完成程序。用Python语言中文分词第三方库jieba对文件data.txt进行分词,并选择长度大于等于3个字符的关键词,写入文件out1.txt,每行一个关键词,各行的关键词不重复,输出顺序不做要求,例如:

人工智能

科幻小说

问题2:(10分)在考生文件夹下给出了程序框架文件PY301-2.py,补充代码完成程序。对文件data.txt进行分词,对长度不少于3个字符的关键词,统计出现的次数,按照出现次数由大到小的顺序输出到文件out2.txt,每行一个关键词及其出现次数,例如:

科学家:2

达特茅斯:1

问题一代码

import jieba
f = open('data.txt','r')
lines=f.readlines()
f.close()
D=[]
for line in lines:wordList=jieba.lcut(line)#用结巴分词,对每行内容进行分词for word in wordList:if len(word)<3: #判断词长度,要大于等于3个长度continueelse:if word not in D:D.append(word)
f=open('out1.txt','w')
f.writelines('\n'.join(D))            
f.close()

问题二代码

import jieba
f=open("data.txt","r")
lines=f.readlines()
f.close()d = {}
for line in lines:wordList=jieba.lcut(line) #用结巴分词,对每行内容进行分词for word in wordList:if len(word)<3:continueelse:d[word]=d.get(word,0)+1
ls=list(d.items())
ls.sort(key=lambda x:x[1],reverse=True)#按照词频由高到低排序f=open('out2.txt','w')
for i in range(len(ls)):f.write('{}:{}\n'.format(ls[i][0],ls[i][1]))
f.close()

真题7

1、考生文件夹下存在一个文件PY101.py,请写代码替换横线,不修改其他代码,实现以下功能:

键盘输入正整数s,按要求把s输出到屏幕,格式要求:宽度为25个字符,等号字符(=)填充,右对齐,带千位分隔符。如果输入正整数超过25位,则按照真实长度输出。

例如:键盘输入正整数s为1234,屏幕输出====================1,234

代码

s = input()
print("{:=>25,}".format(eval(s)))

2、获得用户输入的一个字符串,将字符串逆序输出,同时紧接着输出字符串的个数,请完善PY102.py中代码。

代码

s = input()
print(s[::-1],end="")
print(len(s))

3、获得用户输入的以逗号分隔的三个数字,记为a、b、c,以a为起始数值,b为差,c为数值的数量,产生一个递增的等差数列,将这个数列以列表格式输出,请完善PY103.py中代码。

代码

a, b, c = eval(input())
ls = []
for i in range(c):ls.append(a+b*i)
print(ls)

4、使用turtle库的turtle.fd()函数和turtle.seth()函数绘制一个边长为40像素的正12边形,在考生文件夹下给出了程序框架文件PY201.py,在横线处补充代码,不得修改其他代码。效果如下图所示。
在这里插入图片描述

代码

import turtle
turtle.pensize(2)
d=0
for i in range(1, 13):turtle.fd(40)d += 30turtle.seth(d)

5、计算两个列表ls和lt此对应元素乘积的和(即向量积),补充PY202.py文件。

ls = [111,222,333,444,555,666,777,888,999]

lt = [999,777,555,333,111,888,666,444,222]

代码

ls = [111, 222, 333, 444, 555, 666, 777, 888, 999]
lt = [999, 777, 555, 333, 111, 888, 666, 444, 222]
s = 0
for i in range(len(ls)):s+=ls[i]*lt[i]
print(s)

6、某班学生评选一等奖学金,学生的10门主干课成绩存在考生文件夹下文件score.txt中,每行为一个学生的信息,分别记录了学生学号、姓名以及10门课成绩,格式如下:

1820161043 郑珉镐 68 66 83 77 56 73 61 69 66 78

1820161044 沈红伟 91 70 81 91 96 80 78 91 89 94

……

从这些学生中选出奖学金候选人,条件是:1)总成绩排名在前10名;2)全部课程及格(成绩大于等于60)。

问题1:给出按总成绩从高到低排序的前10名学生名单,并写入文件candidate0.txt,每行记录一个学生的信息,分别为学生学号、姓名以及10门课成绩。补充考生文件夹下文件PY301-1.py,完成这一功能。

问题2:读取文件candidate0.txt,从中选出候选人,并将学号和姓名写入文件candidate.txt格式如下:

1010112161722 张三

1010112161728 李四

……

补充考生文件夹下文件PY301-2.py.完成这一功能

问题一代码

fi = open('score.txt','r')
fo = open('candidate0.txt','w')
ls = fi.readlines()
L=[]  #L中的元素是学生原始成绩和总成绩
D=[]  #存放每个学生的信息
for line in ls:s = 0 #每个学生的总成绩D=line.strip('\n').split()for i in D[2:]:s+=int(i)D.append(s)L.append(D)
L.sort(key=lambda x:x[-1],reverse=True)   #按学生总成绩从大到小排序
for k in range(10):fo.write(' '.join(L[k][:-1])+'\n')
fi.close()
fo.close()

问题二代码

fi = open('candidate0.txt','r')
fo = open('candidate.txt','w')
ls = fi.readlines()
for line in ls:lt = line.split()for i in lt[2:]:if int(i)<60:breakelse:fo.write(' '.join(lt[:2])+'\n')
fi.close()
fo.close()

真题8

1、获得用户输入的一个数字,对该数字以30字符宽度,十六进制,居中输出,字母小写,多余字符采用双引号(")填充,请完善PY101.py中代码。

代码

s = input()
print("{:\"^30x}".format(eval(s)))

2、获得用户输入的一个数字,其中数字字符(0到9)用对应的中文字符“〇—二三四五六七八九”替换,输出替换后的结果,请完善PY102.py中的代码。

代码

n = input()
s = "〇一二三四五六七八九"
for c in "0123456789":n=n.replace(c,s[int(c)])
print(n)

3、获得用户输入的以逗号分隔的三个数字,记为a、b、c,以a为起始数值,b为前后相邻数的比值,c为数列长度,产生一个等比数列,将这个数列以逗号分隔的形式输出,最后一个元素输出后无逗号,请完善PY103.py中代码。

代码

a, b, c = eval(input())
ls = []
for i in range(c):ls.append(str(a*(b**i)))
print(",".join(ls))

4、使用turtle库的turtle.fd()函数和turtle.left()函数绘制一个边长为200像素的正方形及一个紧挨四个顶点的圆形,在考生目录下给出了程序框架文件PY201.py,在横线处补充代码,不得修改其他代码。效果如下图所示。
在这里插入图片描述

代码

import turtle
turtle.pensize(2)
for i in range(4):turtle.fd(200)turtle.left(90)
turtle.left(-45)
turtle.circle(100*pow(2,0.5))

5、获得用户的非数字输入,如果输入中存在数字,则要求用户重新输入,直至满足条件为止,并输出用户输入字符的个数,完善PY202.py文件中的代码。

代码

while True:s = input("请输入不带数字的文本:")i=0for p in s:if "0"<=p<="9":i=i+1if i==0:break
print(len(s))

6、考生文件夹下的文件data.txt是教育部中国大学MOOC平台的某个HTML页面源文件,里面包含了我国参与MOOC建设的一批大学或机构列表。

问题1:请编写程序,从data.txt中提取大学或机构名称列表,将结果写入文件univ.txt,每行一个大学或机构名称,按照大学或机构在data.txt出现的先后顺序输出,样例如下:

北京理工大学

北京师范大学

提示:所有大学名称在data.txt文件中以alt="北京理工大学"形式存在。在考生文件夹下给出了程序框架文件PY301-1.py,补充代码完成程序(10分)

问题2:请编写程序,从univ.txt文件中提取大学名称,大学名称以出现“大学”或“学院”字样为参考,但不包括“大学生”等字样,将所有大学名称在屏幕上输出,大学各行之间没有空行,最后给出名称中包含“大学”和“学院”的名称数量,同时包含“大学”和“学院”的名称以结尾的词作为其类型。样例如下(样例中数量不是真实结果):

北京理工大学

长沙师范学院

包含大学的名称数量是10

包含学院的名称数量是10

在考生文件夹下给出了程序框架文件PY301-2.py,补充代码完成程序(10分)

问题一代码

f=open("data.txt","r")
lines=f.readlines()
f.close()f = open("univ.txt", "w")
for line in lines:if 'alt' in line:  #判断是否有alt,若有则用'alt'分割,分割后再用'"'分割dx=line.split('alt=')[-1].split('"')[1]f.write('{}\n'.format(dx))
f.close()

问题二代码

n = 0
m=0
f = open("univ.txt", "r")
lines=f.readlines()
f.close()
for line in lines:if '大学生' in line:continueelif '大学' in line:print('{}'.format(line))n+=1elif '学院' in line:print('{}'.format(line))m+=1print("包含大学的名称数量是{}".format(n))
print("包含学院的名称数量是{}".format(m))

真题来源:小黑课堂计算机二级python题库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/766171.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【小米汽车SU7实测】 小米汽车su7到底行不行?小米新能源轿车体验感怎么样?

小米汽车SU7是小米汽车的首款车型&#xff0c;定位“C级高性能生态科技轿车”&#xff0c;也是小米迈入新能源赛道的首次成果落地。 首先&#xff0c;让我们来谈谈它的性能。试驾过程中&#xff0c;小米SU7展现出了惊人的加速能力&#xff0c;0-100km/h加速仅需2.78秒&#xf…

Vue项目使用process.env关键字及Vue.config.js配置解决前端跨域问题

1.process.env 是Node.js 中的一个环境 1.打开命令行查看环境: 2.process.env与Vue CLI 项目 Vue Cli 有以下三种运行模式 development 模式用于 vue-cli-service serve test 模式用于 vue-cli-service test:unit production 模式用于 vue-cli-service build 和 vue-cli-se…

【STL学习】(1)string类

前言 本文将详细讲解STL中string类的常用的接口函数。 一、为什么学习string类&#xff1f; 1、字符串类型的重要性 在现实生活中有很多复杂类型是以字符串来表达的&#xff0c;比如我们在搜索引擎输入的“数据”&#xff0c;一个人的姓名、身份证号等等。 所以字符串类型是很…

ETCD跨城容灾与异地多活网络故障的相关表现分析

ETCD跨城容灾与异地多活网络故障的相关表现分析 1. 网络架构2. 单个网络中断-跟leader区中断2.1. 网络中断2.2. 网络恢复 3. 单个网络中断-跟非leader区中断4. 两个网络中断-leader区中断5. 两个网络中断-非leader区中断6. 两个网络中断-非leader区中断7. 总结8. 参考文档 etcd…

【多线程】有了解过 CAS 和原子操作吗?

SueWakeup 个人主页&#xff1a;SueWakeup 系列专栏&#xff1a;学习Java 个性签名&#xff1a;人生乏味啊&#xff0c;我欲令之光怪陆离 本文封面由 凯楠&#x1f4f7; 友情赞助! 目录 前言 悲观锁和乐观锁 什么是 CAS ? 什么是原子操作&#xff1f; CAS 执行流…

git 上传文件夹至远端仓库的方法

上传的远端git可以是gitlab、github、gitee、gitblit或者gitCode等等 以下以GitHub为例说明&#xff1a; 1、登录GitHub网站&#xff08;账户/密码&#xff09; 2、创建一个新的空白项目&#xff08;或者已有的项目&#xff09;hello-world 分支是master &#xff0c;这里默认即…

面经Java开发

联奕一面: 1、这段代码的输出结果是多少?t q z package com.smart.community.test;public class Test {public class B{static {System.out.println("t");}public B(){System.out.println("z");}}public class A extends B{static {System.out.println…

Matlab2024a在Windows系统上的安装配置

目录 前言一、​Matlab在Windows系统上安装总结 前言 Matlab是一种高级技术计算和编程环境&#xff0c;广泛应用于科学、工程和金融等领域。它提供了丰富的工具和函数库&#xff0c;用于数据分析、可视化、模型建立、算法开发和应用部署等任务。注&#xff1a;文末附有下载链接…

Unity vision pro模拟器开发教程-附常见问题解决方案

前言 庄生晓梦迷蝴蝶&#xff0c;望帝春心托杜鹃 废话 去年苹果发布会上&#xff0c;推出了Vision Pro这一款XR产品。并且宣布Unity作为其主要合作伙伴&#xff0c;负责开发XR的开发产品。 这消息一出&#xff0c;当晚Unity的股价直接被熔断。产品发布之后&#xff0c;一直等…

算法|基础算法|位运算

基础算法|位运算 1.与运算 2.或运算 3.非运算 4.异或运算 5.左移、右移运算 心有猛虎&#xff0c;细嗅蔷薇。你好朋友&#xff0c;这里是锅巴的C\C学习笔记&#xff0c;常言道&#xff0c;不积跬步无以至千里&#xff0c;希望有朝一日我们积累的滴水可以击穿顽石。 与运算 与…

IPMI开源库pyghmi基本使用

简介&#xff1a;Pyghmi是一个纯Python&#xff08;主要是IPMI&#xff09;服务器管理库。IPMI&#xff08;Intelligent Platform Management Interface&#xff0c;智能平台管理接口&#xff09;是一种开放的标准&#xff0c;旨在帮助系统管理员在本地和远程管理服务器系统。而…

2024年【通信安全员ABC证】新版试题及通信安全员ABC证模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 通信安全员ABC证新版试题根据新通信安全员ABC证考试大纲要求&#xff0c;安全生产模拟考试一点通将通信安全员ABC证模拟考试试题进行汇编&#xff0c;组成一套通信安全员ABC证全真模拟考试试题&#xff0c;学员可通过…

C++初阶---类和对象

目录 1. 类的引入 2. 类的定义 4. 类的访问限定符及封装 4.1 访问限定符 4.2 封装 5. 类的作用域 6.类的实例化 7.类对象模型 8. this指针 8.1 this指针的引出 8.2 this指针的特性 8.3 C语言和C实现栈的对比 9.类的六个默认成员函数 10&#xff0c;构造函数 10.1…

新能源汽车BMS应用设计

新能源汽车BMS应用设计 电池管理系统&#xff08;BMS&#xff09; 概述 电池管理系统&#xff08;BMS&#xff09;为一套保护动力电池使用安全的控制系统&#xff0c;时刻监控电池的使用状态&#xff0c;通过必要措施缓解电池组的不一致性&#xff0c;为新能源车辆的使用安全…

Prometheus+Grafana 监控Tongweb嵌入式(by lqw)

文章目录 1.思路2.部署准备3.Grafana仪表盘json文件下载4.tw嵌入式jar包本地引入依赖并测试运行5.运行jmx_prometheus_javaagent-0.19.0.jar形式获取监控数据&#xff08;方法一&#xff09;6.使用Actuator 获取监听数据&#xff08;方法二&#xff09;7.Prometheus部署8.Prome…

代码随想录day29(2)二叉树:将有序数组转换为二叉搜索树(leetcode108)

题目要求&#xff1a;将一个按照升序排列的有序数组&#xff0c;转换为一棵高度平衡二叉搜索树。 思路&#xff1a;思路比较简单&#xff0c;如果目标是平衡二叉树&#xff0c;我们每次只需要取数组的中间元素作为根节点&#xff0c;分成左右两个子树&#xff0c;再递归地进行…

B站python爬虫课程笔记(Q16-19结束)

下面是学习的网址&#xff1a; ​​​​​​【Python爬虫】 目录 16、捕捉异常try&except语句的一些问题 1&#xff09;一些常见的异常类型 2&#xff09;try&except的使用 17、测试Bug的一些问题 1&#xff09;assert断定函数的使用 2&#xff09;unittest单元…

学生综合考评管理系统|jsp+ Mysql+Java+ (可运行源码+数据库+设计文档)

本项目包含可运行源码数据库LW&#xff0c;文末可获取本项目的所有资料。 推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含java&#xff0c;…

微服务鉴权的几种实现方案

1.Token 1.1 Token透传&#xff08;不推荐&#xff09; 刚开始接触微服务时网上给的方案大都数是通过透传Token做鉴权&#xff0c;但我认为这种方式不是很妥当。接着往下看&#xff1a; 这种方式通过透传Token使得各微服务都能获取到当前登录人信息&#xff0c;在代码编写上确…

RK3568平台 网络唤醒

一.什么是网络唤醒 网络唤醒(Wake-on-LAN&#xff0c;WOL)是一种计算机局域网唤醒技术&#xff0c;使局域网内处于关机或休眠状态的计算机&#xff0c;将状态转换成引导(Boot Loader)或运行状态。无线唤醒(Wake-on-Wireless-LAN&#xff0c;WoWLAN)作为 WOL 的补充技术&#x…