前文
很多在校的学生,在学校学习计算机专业,都是需要通过不同的计算机考试等级证书的。我么今天来跟大家聊聊Python计算机二级考试。
计算机二级的话这基本上是每个计算机专业的学生都是必备的考试。2021的全国计算机等级考试主要是分4次,小编下面将会介绍,不要错过了哈!!!
2021年计算机二级考试时间
2021年全国计算机等级考试(NCRE)将举办四次考试,时间分别为3月27日至29日(第60次)、5月29日至30日(第61次)、9月25日至27日(第62次)及12月4日至5日(第63次)。
正文
考试真题及答案。主要是编程题目,选择填空这可以考虑。
要考试的小伙伴儿可自己试试。
题目1
键盘输入正整数n,按要求把n输出到屏幕,格式要求:宽度为20个字符,减号字符-填充,右对齐,带千位分隔符。如果输入正整数超过20位,则按照真实长度输出。例如:键盘输入正整数n为1234,屏幕输出---------------1,234
答案
n = eval(input("请输入正整数:"))
s = "{:->20,}".format(n)
print(s)
考察知识点:格式化字符串操作
题目2
随机选择一个手机品牌屏幕输出。
答案
import random
brandlist = ['华为','苹果','诺基亚','OPPO','小米']
random.seed(1)
i=random.randint(0,4)
name=brandlist[i]
print(name)
考察知识点:random生成随机数
题目3
从键盘输入4个数字,各数字采用空格分隔,对应为变量x0, y0,x1,y1。 计算两点(x0,y0) 和(x1,y1)之间的距离,例如:键盘输入:0135屏幕输出:5.00
答案
ntxt = input("请输入4个数字(空格分隔):")
nls=ntxt.split()
x0 = eval(nls[0])
y0 = eval(nls[1])
x1 = eval(nls[2])
y1 = eval(nls[3])
r = pow(pow(x1-x0, 2) + pow(y1-y0, 2), 0.5)
print("{:.2f}".format(r))
考察知识点:内置函数pow()用法
题目4
键盘输入字符串s,按要求把s输出到屏幕,格式要求:宽度为20个字符,等号字符=填充,居中对齐。如果输入字符串超过20位,则全部输出。
答案
s = input("请输入一个字符串:")
print("{:=^20}".format(s))
题目5
键盘输入正整数n,按要求把n输出到屏幕,格式要求:宽度为15个字符,数字右边对齐,不足部分用_填充。例如:键盘输入正整数n为1234,屏幕输出_1234
答案
n = eval(input("请输入正整数:"))
print("{:*>15}".format(n))
题目6
键盘输入正整数n,按要求把n输出到屏幕,格式要求:宽度为15个字符,数字右边对齐,不足部分用*填充。
n = eval(input("请输入正整数:"))
print("{:=^14}".format(n))
题目7
键盘输入正整数n,按要求把n输出到屏幕,格式要求:宽度为25个字符,等号字符(=)填充, 右对齐,带千位分隔符。
答案
n = eval(input("请输入正整数:"))
print("{:=>25,}".format(n))
题目8
获得用户输入的一个数字,对该数字以30字符宽度,十六进制,居中输出,字母小写,多余字符采用双引号(”)
答案
s = input()
print("{:\"^30x}".format(eval(s)))
题目9
完成如下功能.程序接收用户输入的五个数,以逗号分隔。将这些数字按照输入顺序输出,每个数字占10个字符宽度,右对齐,所有数字显示在同一行。
答案
num = input().split(',')
for i in num:
print("{:>10}".format(i),end="")
题目10
接收用户输入的一一个小于20的正整数,在屏幕上逐行递增显示从01到该正整数,数字显示的宽度为2,不足位置补0,后面追加一个空格,然后显示'>’号,’>’号的个数等于行首数字。
答案
n = input('请输入一个正整数:')
for i in range(int(n)):
print('{:0>2}{}'.format(i+1,">"*(i+1) ))
题目11
a和b是两个列表变量,列表a为[3, 6, 9]己给定,键盘输入列表b, 计算a中元素与b中对应元素乘积的累加和。例如:键盘输入列表b为[1,2,3],累加和为1_3+2_6+3*9=42,因此,屏幕输出计算结果为42
答案
a = [3,6,9]
b = eval(input()) #例如:[1,2,3]
s = 0
for i in range(len(a)):
s += a[i]*b[i]
print(s)
题目12
键盘输入一段文本,保存在一个字符串变量s中,分别用Python内置函数及jieba库中己有函数计算字符串s的中文字符个数及中文词语个数。 例如,键盘输入: 我罗斯举办世界杯 屏幕输出: 中文字符数为8,中文词语数为3
答案
import jieba
s = input("请输入一个字符串")
n = len(s)
m = len(jieba.lcut(s))
print("中文字符数为{},中文词语数为{}。".format(n, m))
题目13
键盘输入-段中文文本,不含标点符号和空格,命名为变量s,采用jieba库对其进行分词,输出该文本中词语的平均长度,保留1位小数。 例如:键盘输入:吃葡萄不吐葡萄皮 屏幕输出: 1.6
答案
import jieba
txt = input("请输入一段中文文本:")
ls = jieba.lcut(txt)
print("{:.1f}".format(len(txt)/len(ls)))
题目14
根据斐波那契数列的定义,F(0)=0, F(1)=1, F(n)=F(n-1)+F(n-2) (n>=2) ,输出不大于100的序列元素。 例如:屏幕输出实例为:0, 1, 1, 2,3, … (略)
答案
a, b = 0, 1
while a<=100:
print(a, end=',')
a, b = b,a+b
题目15
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)
题目16
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)
题目17
获得用户输入的一一个字符串,将字符串逆序输出,同时紧接着输出字符串的个数
答案
s = input()
print(s[-1::-1])
print(len(s))
题目18
获得用户输入的一一个数字,其中数字字符(0到9)用对应的中文字符“O一二三四五六七八九”替换,输出替换后的结果。
答案
n = input()
s = "〇一二三四五六七八九"
for c in "0123456789":
n=n.replace(c,s[int(c):int(c)+1])
print(n)
题目19
在考生文件夹下有个文件PY102. py,在横线处填写代码,完成如下功能。让用户输入一-串数字和字母混合的数据,然后统计其中数字和字母的个数,显示在屏幕上。
答案
ns = input("请输入一串数据:")
dnum,dchr = 0,0 #双变量赋值方式
for i in ns:
if i.isnumeric(): #如果是数字字符
dnum += 1
elif i.isalpha():
dchr += 1
else:
pass #空语句,为了保持程序结构的完整性,用于占位
print('数字个数:{},字母个数:{}'.format(dnum,dchr))
题目20
以123为随机数种子,随机生成10个在1 (含)到999 (含)之间的随机数,每个随机数后跟随一一个逗号进行分隔,屏幕输出这10个随机数。
答案
import random
random.seed(123)
for i in range(10):
print(random.randint(1,1000), end=",")
题目21
某商店出售某品牌运动鞋,每双定价160,1双不打折,2双(含)到4双(含)打九折,5双(含)到9双(含)打八折,10双(含)以上打七折,键盘输入购买数量,屏幕输出总额(保留整数)。示例格式如下: 输入: 1 输出:总额为:160
答案
n = eval(input("请输入数量:"))
if n>=10:
cost = n * 160 * 0.7
elif n>=5:
cost = n * 160 * 0.8
elif n>=2:
cost = n * 160 * 0.9
else:
cost = 160
cost = int(cost)
print("总额为:",cost)
题目22
键盘输入一个9800到9811之间的正整数n,作为unicode编码,把n-1、n和n+1三个Uni代码编码对应字符按照如下格式要求输出到屏幕:宽度为11个字符,加号字符+填充,居中。 例如:键盘输入: 9802 屏幕输出: +++??++++
答案
n = eval(input("请输入一个数字:"))
print("{:+^11}".format(chr(n-1)+chr(n)+chr(n+1)))
题目23
键盘输入一句话,用jieba分词后,将切分的词组按照在原话中逆序输出到屏幕上,词组中间没有空格。示例如下: 输入: 我爱妈妈 输出: 妈妈爱我
答案
import jieba
txt = input("请输入一段中文文本:")
ls=jieba.lcut(txt)
for i in ls[::-1]:
print(i,end='')
题目24
以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)
题目25
以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)
题目26
获得用户输入的以逗号分隔的三个数字,记为a、b、c,以a为起始数值,b为差,c为数值的数量,产生-一个递增的等差数列,将这个数列以列表格式输出。
答案
a, b, c = eval(input())
ls = []
for i in range(c):
ls.append(a+b*i)
print(ls)
题目27
获得用户输入的以逗号分隔的三个数字,记为a、b、c,以a为起始数值,b为前后相邻数的比值,c为数列长度,产生一个等比数列,将这个数列以逗号分隔的形式输出,最后-一个元素输出后无逗号。
答案
a, b, c = eval(input())
ls = []
for i in range(c):
ls.append(str(a*(b**i)))
print(",".join(ls))
题目28
程序接收用户输入的-一个数字并判断是否为正整数,如果不是正整数,则显示“请输入正整数”并等待用户重新输入,直至输入正整数为止,并显示输出该正整数.例如: 输入: 请输入一个正整数:357 输出: 357
答案
while True:
try:
a = eval(input('请输入一个正整数: '))
if a > 0 and int(a)==a:
print(a)
break
else:
print("请输入正整数")
except:
print("请输入正整数")
题目29
将程序里定义好的std列表里的姓名和成绩与已经定义好的模板拼成一 段话,显示在屏幕上。例如: 亲爱的张三,你的考试成绩是:英语90,数字87, Python语言95,总成绩272.特此通知。
答案
std = [['张三',90,87,95],['李四',83,80,87],['王五',73,57,55]]
modl = "亲爱的{}, 你的考试成绩是: 英语{}, 数学{}, Python语言{}, 总成绩{}.特此通知."
for st in std:
cnt = 0 #总成绩初始值
for i in range(3): #循环三科成绩
cnt += st[i+1] #成绩求和
print(modl.format(st[0],st[1],st[2],st[3],cnt))
题目30
社会平均工作时间是每天8小时(不区分工作日和休息日),- -位计算机科学家接受记者采访时说,他每天工作时间比社会平均工作时间多3小时。如果这位科学家的当下成就值是1,假设每工作1小时成就值增加0. 01%, 计算并输出两个结果:这位科学家5年后的成就值,以及达到成就值100所需要的年数。其中,成就值和年数都以整数表示,每年以365天计算。
输出格式示例如下:
5年,后的成就值是XXX
XX年后成就值是100
答案
scale = 0.0001 # 成就值增量
def calv(base, day):
val = base * pow((1+scale),day*11)
return val
print('5年后的成就值是{}'.format(int(calv(1, 5*365))))
year = 1
while calv(1, year*365) < 100:
year += 1
print('{}年后成就值是100'.format(year))
结尾
好了!今天就推荐了30道简单的python二级题库。有需要的话可以找小编获取更多题目、项目实战案例、以及程序员的面试题库等....
私信小编:06即可获取。
💕💕💕小编如果忙碌中,点击自助领取可好。💕💕💕
来白嫖嘛,哈哈哈啊哈!!