全国计算机等级考试二级Python(2021年9月)备考笔记 第十六天

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

单项选择题

第一题

在这里插入图片描述

第二题

在这里插入图片描述

第三题

在这里插入图片描述

第四题

在这里插入图片描述

第五题

在这里插入图片描述

第六题

在这里插入图片描述

第七题

在这里插入图片描述

第八题

在这里插入图片描述

第九题

在这里插入图片描述

第十题

在这里插入图片描述

第十一题

在这里插入图片描述

第十二题

在这里插入图片描述

第十三题

在这里插入图片描述

第十四题

在这里插入图片描述

第十五题

在这里插入图片描述

第十六题

在这里插入图片描述

第十七题

在这里插入图片描述

第十八题

在这里插入图片描述

第十九题

在这里插入图片描述

第二十题

在这里插入图片描述

第二十一题

在这里插入图片描述

第二十二题

在这里插入图片描述

第二十三题

在这里插入图片描述

第二十四题

在这里插入图片描述

第二十五题

在这里插入图片描述

第二十六题

在这里插入图片描述

第二十七题

在这里插入图片描述

第二十八题

在这里插入图片描述

第二十九题

在这里插入图片描述

第三十题

在这里插入图片描述

第三十一题

在这里插入图片描述

第三十二题

在这里插入图片描述

第三十三题

在这里插入图片描述

第三十四题

在这里插入图片描述

第三十五题

在这里插入图片描述

第三十六题

在这里插入图片描述

第三十七题

在这里插入图片描述

第三十八题

在这里插入图片描述

第三十九题

在这里插入图片描述

第四十题

在这里插入图片描述

程序设计题

第一题

在这里插入图片描述

#代码如下:
#"请输入一个字符串,由逗号隔开每个字符:"
ls= input().split(',')
print(''.join(ls))
'''
要点:
1. 用 split(',') 来从字符串里提取所输入的字符,split() 函数返回列表
2. 字符串方法 str.join(ls) ,把列表里的各个元素,用 str 的内容连接起来。利用了空字符串‘ ’,来调用这个函数,将带有逗号的字符串变换成了没有逗号的字符串
'''

第二题

在这里插入图片描述

#代码如下:
s = input() # 请输入一个由1和0组成的二进制数字串
d = 0
while s:
    d = d*2 + (ord(s[0]) -ord('0'))
    s = s[1:]
print("转换成八进制数是:{:o}".format(d))
'''
要点:
1. print 和 format 的格式用法,字符串的内置处理函数、切片
2. 理解数据类型及其转换
'''

第三题

在这里插入图片描述

#参考答案1
st = input()
pair=0
for s in st:
    if s == "'":
        pair +=1
if pair == 0:
    pro = "没有单引号"
elif pair % 2 == 0:
    pro="有{:}对单引号".format(pair//2)
else:
    pro="有{:}对配对单引号,存在没有配对的单引号".format(pair//2)
print(pro)
#参考答案2
st = input()
pair = 0
count = 0
for s in st:
    if s == "'":
        pair += 1
        if pair % 2 == 0:
            count += 1
if pair == 0:
    pro = "没有单引号"
elif pair % 2 == 0:
    pro = "有{}对单引号".format(count)
else:
    pro = "有{}对配对单引号,存在没有配对的单引号".format(count)
print(pro)
'''
讲解:
多分支结构,分支语句的嵌套
利用对2求模运算,来判断单引号是否配对
利用pro变量来记录不同情况下的输出内容,最后只用一个print来输出显示
利用字符串的format操作,把合成要输出的变量和提示字符串
'''

第四题

在这里插入图片描述

import turtle
def drawCircle():         #定义画圆函数
    turtle.pendown()
    turtle.circle(20)
    turtle.penup()
    turtle.fd(40)
def drawRowCircle(n):    # 定义画层次圆函数
    for j  in range(n,1,-1):
        for i in range(j):
            drawCircle()        
        turtle.fd(-j*40-20)
        turtle.right(90)
        turtle.fd(40)
        turtle.left(90)
        turtle.fd(40)
    drawCircle()
drawRowCircle(5)        #画斯洛克函数
turtle.hideturtle()
turtle.done()

第五题

在这里插入图片描述

#代码如下:
import jieba
s = input() # 请输入一个中文字符串,包含逗号和句号
s = s.replace(",","").replace("。","")
n = len(s)
k=jieba.lcut(s)
m = len(k)
for i in k:
   print(i, end= "/ ")
print("\n中文词语数为{}。".format(m))
print("中文字符数为{}。".format(n))
'''
讲解:
1. 使用jieba分词的主要函数
2. 处理用户输入的字符串,提取成列表
3. 使用字符串和列表操作函数,获取长度等
4. 在print中利用end关键字,控制字符输出格式
'''

第六题

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

#代码如下:
picd = {}
fi = open("dir_50.txt",'r')
for l in fi:
    l = l.strip()
    if len(l):
        l=l.split('_')
        lkey,lvalue = l[1][:-4],eval(l[0])
        lval = []
        for v in lvalue:
            if v != '0':
                lval.append(v)
        # print(lval, lkey)
        picd[lkey] = lval

fi.close()
idd = {}
for key in picd:
    for num in picd[key]:
        idd[num] = idd.get(num,0) +1
    # print(num,idd[num])

s = sum(idd.values())
count = len(idd)
print("实际参加测试的人数是:{}".format(count))
print("人均被测次数是:{:.1f}".format(s/count))
'''
要点:
1. 这是一个实际问题,解决问题的方法有实际的推广意义。问题的关键是要完成数据提取,然后才是分析统计
2. 数据提取:先取得文件里的有效内容,转换成列表,利用列表的切片,提取出照片编号和学号,放到字典 picd 里
3. 第二步数据分析,先从字典里把学号提取出来,为了便于统计每个学号被测的次数,再建一个字典 idd
4.  idd 字典的键是学号,所以字典的 len 就是参加测试的人数
5. 为了计算平均测试次数,需要累计每个学号被测的次数,最后除以参加测试人数就得到结果
6. 在本地编程调试的时候,可以输出每次字典的内容,以便验证每个步骤的正确性,利于调试
'''
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张同学啦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值