小黑课堂基础操作题第三、四、五套

第一题

题目

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-1nn+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, 1
while a<=100:
    print(a, end=',')
    a, b = b,a+b

解析

主要考查 while循环结构

当程序执行到while语句时,判断条件如果为True,执行循环体语句,语句结束后返回再次判断while语句的条件;当条件为False时,循环终止,执行与while同级别缩进的后续语句。

第六题

题目

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

键盘输入一句话,用jieba分词后,将切分的词组按照在原话中逆序输出到屏幕上,词组中间没有空格。示例如下:

输入:

我爱妈妈

输出:

妈妈爱我

代码

import jieba
txt = input("请输入一段中文文本:")
ls=jieba.lcut(txt)
for i in ls[::-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 = []
for i in range(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(含)之间的随机数,计算这五个随机数的平方和。

代码

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

解析

主要考查 随机数

seed()方法改变随机数生成器的种子,可在调用其他随机模块函数之前调用此函数。它也不能直接访问,需要导入random模块,然后通过random静态对象调用该方法。

randint(a,b)随机数中包括a和b区间的数

求某数n平方=求n的2次方,n**2

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐