当前位置:首页 » 《休闲阅读》 » 正文

全国计算机等级考试二级Python(2021年9月)备考笔记 第十四天_张同学啦 的博客

13 人参与  2022年01月05日 15:24  分类 : 《休闲阅读》  评论

点击全文阅读


文章目录

  • Python 二级等考(第三季)精品题5
    • 单项选择题
      • 第一题
      • 第二题
      • 第三题
      • 第四题
      • 第五题
      • 第六题
      • 第七题
      • 第八题
      • 第九题
      • 第十题
      • 第十一题
      • 第十二题
      • 第十三题
      • 第十四题
      • 第十五题
      • 第十六题
      • 第十七题
      • 第十八题
      • 第十九题
      • 第二十题
      • 第二十一题
      • 第二十二题
      • 第二十三题
      • 第二十四题
      • 第二十五题
      • 第二十六题
      • 第二十七题
      • 第二十八题
      • 第二十九题
      • 第三十题
      • 第三十一题
      • 第三十二题
      • 第三十三题
      • 第三十四题
      • 第三十五题
      • 第三十六题
      • 第三十七题
      • 第三十八题
      • 第三十九题
      • 第四十题
    • 程序设计题
      • 第一题
      • 第二题
      • 第三题
      • 第四题
      • 第五题
      • 第六题

Python 二级等考(第三季)精品题5

单项选择题

第一题

在这里插入图片描述

第二题

在这里插入图片描述

第三题

在这里插入图片描述

第四题

在这里插入图片描述

第五题

在这里插入图片描述

第六题

在这里插入图片描述

第七题

在这里插入图片描述

第八题

在这里插入图片描述

第九题

在这里插入图片描述

第十题

在这里插入图片描述

第十一题

在这里插入图片描述

第十二题

在这里插入图片描述

第十三题

在这里插入图片描述

第十四题

在这里插入图片描述

第十五题

在这里插入图片描述

第十六题

在这里插入图片描述

第十七题

在这里插入图片描述

第十八题

在这里插入图片描述

第十九题

在这里插入图片描述

第二十题

在这里插入图片描述

第二十一题

在这里插入图片描述

第二十二题

在这里插入图片描述

第二十三题

在这里插入图片描述

第二十四题

在这里插入图片描述

第二十五题

在这里插入图片描述

第二十六题

在这里插入图片描述

第二十七题

在这里插入图片描述

第二十八题

在这里插入图片描述

第二十九题

在这里插入图片描述

第三十题

在这里插入图片描述

第三十一题

在这里插入图片描述

第三十二题

在这里插入图片描述

第三十三题

在这里插入图片描述

第三十四题

在这里插入图片描述

第三十五题

在这里插入图片描述

第三十六题

在这里插入图片描述

第三十七题

在这里插入图片描述

第三十八题

在这里插入图片描述

第三十九题

在这里插入图片描述

第四十题

在这里插入图片描述

程序设计题

第一题

在这里插入图片描述

#解法一
ls= input().split(',') #将从键盘上输入的用逗号隔开的字符串转换为列表
                       #例如输入:10,@  
                       #ls为['10', '@']
                       #ls[0]为'10' ,eval(ls[0])*2+len(ls[0])表达式值为22   
                       #ls[1]为'@'
print(ls[0].center(eval(ls[0])*2+len(ls[0]),ls[1]))
                       #'10'.center(22,"@")即为输出结果,考察字符串的center方法
#str.center(x,y) 会用字符串str构造一个新的字符串,
#新的字符串长度是x, 两边填充y。此处的x是数字,y是填充字符
# str:'10'
#   x:22
#   y:"@"
#输出结果为"@@@@@@@@@@10@@@@@@@@@@"
'''
参考讲解:
1. 理解 input 的结果是返回一个字符串
2. split 是字符串的方法,能够以逗号把字符串分割成列表,但列表的元素都是字符串
3. 用 ls[0] 和 ls[1] 分别取得输入的数字和后面的符号
4. 题目要求用一行表达式来解决这个问题,所以增加了难度
5. 此时要想起来用字符串的操作方法 center,问题就迎刃而解了,这个方法 str.center(x,y) 会用字符串 str 构造一个新的字符串,新的字符串长度是 x , 两边填充 y。此处的 x 是数字,y 是字符
6. 要记得 ls[0] 里的 10 是一个字符串,所以要记得用 eval 把它变成数字,乘 2,加上 10 自己的长度,就得到了所需的 x;y 就是 ls[1] 里的字符
7. 这道题关键是深入理解,并灵活运用 center
'''
#解法二
ls= input().split(',')
print(eval(ls[0])*ls[1]+ ls[0] + eval(ls[0])*ls[1])

第二题

在这里插入图片描述

#studs列表中的元素是字典
studs= [{'sid':'103','Chinese': 90},
{'sid':'101','Chinese': 80},
{'sid':'102','Chinese': 70}]
scores = {}  
for stud in studs:
    sv = stud.items()  #sv被赋值为二维列表,形如[('sid','103'),('Chinese',90)]
    for it in sv:      
        if it[0] == 'sid':   #第一次访问:it = ('sid','103')
            k = it[1]        # k = '103'
        else:                #第二次访问:it = ('Chinese',90) it[1] = 90
            scores[k]  = it[1]   #scores["103"] = 90
so = list(scores.items())   #形如:[('103':90),('101':80),...]
so.sort(key = lambda x:x[0],reverse = False) #按学号进行排序
for l in so:
    print('{}:{}'.format(l[0],l[1]))   #遍历输出排序后结果
'''
要点:
1. 字典作为元素,定义在列表里,用列表的遍历就可以从中提取出来
2. 提取出来的元素直接就是字典,因此可以用 items()直接获取,形成键值对对象集合 sv;
3. 对键值对对象集合sv遍历,就可以以元组it的方式访问其中的每一对键值对,sv = stud.items(),是第一个空的答案;
4. 题目要求提取学生的学号,所以需要比较键it[0]是否是'sid',是则将学号it[1]提取出来作为新的字典scores的键k;不是则将成绩提取出来作为新字典scores的值,scores[k]  = v,是第二个空的答案
5. 经过对studs列表里的各条字典处理完之后,新的scores字典就全部生成。
6. 题目要求按学号从小到大的顺序输出学号和成绩,所以需要对字典的键值对内容items()提取到列表so里,此处是第三个空的答案:so = list(scores.items())
7. 用Lambda函数进行排序。这个不在考试范围里,所以代码模板直接给出语句;
8. 对排好序的列表输出每组列表。
'''

第三题

在这里插入图片描述

#代码如下:
import jieba
Tempstr = input()
ls = jieba.lcut(Tempstr)
print(ls)

第四题

在这里插入图片描述

#代码如下:
r = 10
dr = 50
head = 90
for i  in range (4):
    turtle.pendown()
    turtle.circle(r)
    r +=  dr
    turtle.penup()
    turtle.seth(-head)
    turtle.fd(dr)
    turtle.seth(0)
turtle.done()

第五题

在这里插入图片描述
在这里插入图片描述

flag = 1
while flag:
    try:
        n = eval(input())
        xin = input().split(',')
        yin = input().split(',')
        flag =0
        sum = 0
        for i in range(n):
            sum += int(xin[i]) * int(yin[i])
        print("x和y的内积是:", sum)
    except:
       print("请输入整数!")
       flag =1

第六题

在这里插入图片描述
在这里插入图片描述

#代码如下:
jl = [[],[],[],[],[]]   # 定义空的二维列表jl,例如:
                           #jl[1]用于存放左臂高压值:[104,154,131,...]
                           #jl[2]用于存放左臂低压值:[82,88,82,...]
                           #jl[3]用于存放右臂高压值:[136,155,139,...]
                           #jl[4]用于存放右臂低压值:[90,85,74,...]

zyc = [] #存放左臂压差值列表[22,66,...]
yyc = [] #存放右臂压差值列表[46,60,...]

#用with语句打开xueyajilu.txt文件
with open("xueyajilu.txt", 'r',encoding='utf-8') as fi:
    for l in fi:  #对文件中的每一行内容进行处理
        if len(l):            #过滤空行
            lls = l.split(',')
            #print(l.split(','))
            #例如第一行的lls:['2018/7/2 6:00', '140', '82', '136', '90']
            #注意第一列是时间,不需要,跳过            
            for i in range(1,5):     #i从1开始,就是为了跳过第一列时间
                jl[i].append(eval(lls[i])) #构建二维列表jl
            zyc.append(eval(lls[1])- eval(lls[2]))  #左臂压差:左臂高压值 - 左臂低压值
            yyc.append(eval(lls[3])- eval(lls[4]))  #右臂压差:右臂高压值 - 右臂低压值

cnt = len(zyc)   #记录条数

res = []   #构建对比表
res.append(list(("高压最大值",max(jl[1]),max(jl[3]))))
#"高压最大值"、左臂高压最大值和右臂高压最大值构建列表增加到res[0]
res.append(list(("低压最大值",max(jl[2]),max(jl[4]))))
#"低压最大值"、左臂低压最大值和右臂低压最大值构建列表增加到res[1]
res.append(list(("压差平均值",sum(zyc)//cnt,sum(yyc)//cnt)))
#"压差平均值"、左臂高低压差平均值和右臂高低压差平均值构建列表增加到res[2]   //:取整除 - 返回商的整数部分(向下取整)
res.append(list(("高压平均值",sum(jl[1])//cnt,sum(jl[3])//cnt)))
#"高压平均值"、左臂高压平均值和右臂高压平均值构建列表增加到res[3]           //:取整除 - 返回商的整数部分(向下取整)
res.append(list(("低压平均值",sum(jl[2])//cnt,sum(jl[4])//cnt)))
#"低压平均值"、左臂低压平均值和右臂低压平均值构建列表增加到res[4]           //:取整除 - 返回商的整数部分(向下取整)

print('{0:<10}{1:<10}{2:<10}'.format("对比项", "左臂", "右臂"))  #输出标题行
for r in range(len(res)):
    print('{0:<10}{1:<10}{2:<10}'.format(res[r][0],res[r][1],res[r][2]))
    #输出左右臂的高压最大值、低压最大值、压差平均值、高压平均值、低压平均值
输出结果:

对比项                左臂        右臂        
高压最大值             168       155       
低压最大值             93        90        
压差平均值             62        60        
高压平均值             147       141       
低压平均值             85        81

要点:
1. 这道题的关键问题是把数据按照列的方式来处理
2. 参考答案给出的是一般思路,把文件里读出来的数据分别按列的方式,拷贝到一维列表中去,对一维列表进行各种maxminsumlen操作
3. 其次,是当列数有些多的时候,程序看起来很冗余,需要做一些优化合并
4. 前四个计算公式类似的,放到一个二维列表里,加个循环结构,就可以把四条语句缩成一条
5. 显示输出要求像表格一样输出,又要比较高效率,就引入了一个二维列表,把要输出的行头和内容,变成列表,再加到二维列表中去

点击全文阅读


本文链接:http://m.zhangshiyu.com/post/32725.html

平均值  右臂  左臂  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • [糙汉嘴软心硬,娇妻日日晚起]小说精彩节选免费试读_「黎夏顾卫城」主线最终章倒计时
  • 我的亲妹妹我当做畜生,只有儿子来救我反转剧情试读片段_[***小宝李小翠]精彩章节免费试读
  • 往梦难复温,沈淮霆宋思予在线_往梦难复温,沈淮霆宋思予在线
  • 爱意清浅随风离(简凝夕陆靳燃),爱意清浅随风离
  • 「冲喜而已,侯爷别太爱」小说免费在线阅读_侯府侯爷乐瑶主线最终章倒计时
  • 好看的往梦难复温沈淮霆宋思予_往梦难复温沈淮霆宋思予
  • 天才京剧花旦被废嗓后成为芭蕾舞王+后续+结局(秦意宋笙)全书秦意宋笙结局_秦意宋笙+结局列表_笔趣阁(天才京剧花旦被废嗓后成为芭蕾舞王+后续+结局)
  • (番外)+(全书)往梦难复温(沈淮霆宋思予+番外+全书)_(往梦难复温+番外+全书)免费_笔趣阁(沈淮霆宋思予)
  • 江晚烟陆聿我终于失去了你结局+番外(江晚烟陆聿)列表_江晚烟陆聿我终于失去了你结局+番外(江晚烟陆聿)结局篇+番外在线
  • 池雾陆砚寒结局+番外(陆砚寒池雾)列表_池雾陆砚寒结局+番外(陆砚寒池雾)池雾陆砚寒结局+番外在线
  • 沈静怡傅励行+后续+结局(傅励行沈静怡)列表_沈静怡傅励行+后续+结局(傅励行沈静怡)沈静怡傅励行+后续+结局在线
  • 非典时,我被妻子的白月光误诊遗弃在病房节选角色羁绊特辑‌_田越苏雅白月光角色专属支线试读入口

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1