文章目录
- Python 二级等考(第三季)精品题7
-
- 单项选择题
-
- 第一题
- 第二题
- 第三题
- 第四题
- 第五题
- 第六题
- 第七题
- 第八题
- 第九题
- 第十题
- 第十一题
- 第十二题
- 第十三题
- 第十四题
- 第十五题
- 第十六题
- 第十七题
- 第十八题
- 第十九题
- 第二十题
- 第二十一题
- 第二十二题
- 第二十三题
- 第二十四题
- 第二十五题
- 第二十六题
- 第二十七题
- 第二十八题
- 第二十九题
- 第三十题
- 第三十一题
- 第三十二题
- 第三十三题
- 第三十四题
- 第三十五题
- 第三十六题
- 第三十七题
- 第三十八题
- 第三十九题
- 第四十题
- 程序设计题
-
Python 二级等考(第三季)精品题7
单项选择题
第一题
第二题
第三题
第四题
第五题
第六题
第七题
第八题
第九题
第十题
第十一题
第十二题
第十三题
第十四题
第十五题
第十六题
第十七题
第十八题
第十九题
第二十题
第二十一题
第二十二题
第二十三题
第二十四题
第二十五题
第二十六题
第二十七题
第二十八题
第二十九题
第三十题
第三十一题
第三十二题
第三十三题
第三十四题
第三十五题
第三十六题
第三十七题
第三十八题
第三十九题
第四十题
程序设计题
第一题
ls= input().split(',')
print(''.join(ls))
'''
要点:
1. 用 split(',') 来从字符串里提取所输入的字符,split() 函数返回列表
2. 字符串方法 str.join(ls) ,把列表里的各个元素,用 str 的内容连接起来。利用了空字符串‘ ’,来调用这个函数,将带有逗号的字符串变换成了没有逗号的字符串
'''
第二题
s = input()
d = 0
while s:
d = d*2 + (ord(s[0]) -ord('0'))
s = s[1:]
print("转换成八进制数是:{:o}".format(d))
'''
要点:
1. print 和 format 的格式用法,字符串的内置处理函数、切片
2. 理解数据类型及其转换
'''
第三题
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)
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)
picd[lkey] = lval
fi.close()
idd = {
}
for key in picd:
for num in picd[key]:
idd[num] = idd.get(num,0) +1
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. 在本地编程调试的时候,可以输出每次字典的内容,以便验证每个步骤的正确性,利于调试
'''