小黑课堂计算机二级Python | 第三、四、五套基础操作题详细解析(附代码与考点总结)
小黑课堂基础操作题第三、四、五套
文章目录
- 小黑课堂基础操作题第三、四、五套
- 第一题
- 题目
- 代码
- 解析
- 第二题
- 题目
- 代码
- 解析
- 第三题
- 题目
- 代码
- 解析
- 第四题
- 题目
- 代码
- 解析
- 第五题
- 题目
- 代码
- 解析
- 第六题
- 题目
- 代码
- 解析
- 第七题
- 题目
- 代码
- 解析
- 第八题
- 题目
- 代码
- 解析
- 第九题
- 题目
- 代码
- 解析
第一题
题目
41、考生文件夹下存在一个文件PY101.py,请写代替换横线,实现以下功能:
从键盘输入4个数字,各数字采用空格分隔,对应为变量x0,y0,x1,y1。计算两点(x0,y0)和(x1,y1)之间的距离,屏幕输出这个距离,保留2位小数。
例如:键盘输入:0 1 3 5
屏幕输出: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))解析
主要考查函数的使用
str.split(seq)是常用得字符串的处理方法,根据seq分隔字符串str。seq不是必须的,默认采用空格分隔,seq可以是单个字符,也可以是一个字符串,分隔后的内容以列表类型返回。
pow(x,y)是python的一个内置函数,作用返回的是x的有次幂。
第二题
题目
42、考生文件夹下存在一个文件PY102.py,请写代码替换横线,不修改其他代码,实现以下功能:
键盘输入一段中文文本,不含标点符号和空格,命名为变量s,采用jieba库对其进行分词,输出该文本中词语的平均长度,保留1位小数。
例如:键盘输入:吃葡萄不吐葡萄皮
屏幕输出:1.6
代码
import jieba
txt = input(“请输入一段中文文本:”)
ls=jieba.lcut(txt)
print(“{:.1f}”.format(len(txt)/len(ls)))
解析
主要考查jieba库中文分词的使用。
先导入jieba库,才能使用分词功能。
jieba.lcut()方法对中文文本进行精确模式分词,返回一个包含所有词语的列表。
平均长度=总字符数/词语个数
第三题
题目
43、考生文件夹下存在一个文件PY103.py,请写代码替换横线,不修改其他代码,实现以下功能:
键盘输入一个9800到9811之间的正整数n,作为Unicode编码,把n-1、n和n+1三个Unicode编码对应字符按照如下格式要求输出到屏幕:宽度为11个字符,加号字符+填充,居中。
例如:键盘输入:9802
屏幕输出:++++++++
代码
n=eval(input("请输入一个数字:"))print("{:+^11}".format(chr(n-1)+chr(n)+chr(n+1)))解析
主要考查 根据输入的Unicode编码,输出其前后相邻编码对应的三个字符,并按指定格式居中显示
将编码n-1、n和n+1对应的字符拼接成一个字符串,即chr(n-1) + chr(n) + chr(n+1)。chr()函数将Unicode编码转换为对应字符。
使用{:+^11}".format(...),:前为空表示默认参数,+为填充字符,^表示居中,11为宽度
第四题
题目
41、考生文件夹下存在一个文件PY101.py,请写代码替换横线,不修改其他代码,实现以下功能:
键盘输入字符串s,按要求把s输出到屏幕,格式要求:宽度为20个字符,等号字符=填充,居中对齐。如果输入字符串超过20位,则全部输出。
例如:键盘输入字符串s为"PYTHON",屏幕输出=PYTHON=
代码
s = input(“请输入一个字符串:”)
print(“{:=^20}”.format(s))
解析
同上题
第五题
题目
42、考生文件夹下存在一个文件PY102.py,请写代码替换横线,不修改其他代码,实现以下功能:
根据斐波那契数列的定义,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,1whilea<=100:print(a,end=',')a,b=b,a+b解析
主要考查while循环结构
当程序执行到while语句时,判断条件如果为True,执行循环体语句,语句结束后返回再次判断while语句的条件;当条件为False时,循环终止,执行与while同级别缩进的后续语句。
第六题
题目
43、考生文件夹下存在一个文件PY103.py,请写代码替换横线,不修改其他代码,实现以下功能:
键盘输入一句话,用jieba分词后,将切分的词组按照在原话中逆序输出到屏幕上,词组中间没有空格。示例如下:
输入:
我爱妈妈
输出:
妈妈爱我
代码
importjieba txt=input("请输入一段中文文本:")ls=jieba.lcut(txt)foriinls[::-1]:print(i,end='')解析
主要考查对字符串进行分词
使用for i in ls[::-1]:,ls[::-1]是列表的逆序切片,即从最后一个元素到第一个元素。循环遍历逆序后的列表。
print(i, end=''),每次打印一个词语i,并设置end='',表示打印后不换行也不添加额外字符(如空格),因此所有词语会连续输出。
第七题
题目
41、考生文件夹下存在一个文件PY101.py,请写代码替换横线,不修改其他代码,实现以下功能:
键盘输入正整数n,按要求把n输出到屏幕,格式要求:宽度为15个字符,数字右边对齐,不足部分用*填充。
例如:键盘输入正整数n为1234,屏幕输出***********1234
代码
n = eval(input("请输入正整数:")) print("{:*>15}".format(n))解析
同第四题
第八题
题目
42、考生文件夹下存在一个文件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=[]foriinrange(3):c.append(a[i]+b[i])print(c)解析
主要考查 for循环的遍历结构中最基本的循环次数的写法
range(3)表示遍历3次
eval()函数是去掉字符串最外侧的引号,然后执行无引号的内容
append()用于在列表末尾添加新的对象
append()方法与extend()方法的区别:
extend方法只能接受一个列表作为参数,并将该参数的每个元素都添加到原有的列表中
第九题
题目
43、考生文件夹下存在一个文件PY103.py,请写代码替换横线,不修改其他代码,实现以下功能:
以0为随机数种子,随机生成5个在1(含)到97(含)之间的随机数,计算这五个随机数的平方和。
代码
importrandom random.seed(0)s=0foriinrange(5):n=random.randint(1,97)# 产生随机数s=s+n**2print(s)解析
主要考查随机数
seed()方法改变随机数生成器的种子,可在调用其他随机模块函数之前调用此函数。它也不能直接访问,需要导入random模块,然后通过random静态对象调用该方法。
randint(a,b)随机数中包括a和b区间的数
求某数n平方=求n的2次方,n**2
