计算机二级python第二套

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

随机选择一一个手机品牌屏幕输出。

提示:建议使用本机提供的Python集成开发环境IDLE编写、调试及验证程序。

import random
brandlist = ['华为','苹果','诺基亚','OPPO','小米']
random.seed(0)
name = random.choice(brandlist)
print(name)

42、考生 文件夹下存在一个文件PY102.py,请写代码替换横线,键盘输入一段文本,保存在一个字符串变量s中,分别用Python内置函数及jieba库中已有函数计算字符串s的中文字符个数及中文词语个数。注意:中文字符包含中文标点符号。

例如,键盘输入:

俄罗斯举办世界杯

屏幕输出:

中文字符数为8,中文词语数为3。

import jieba
s = input("请输入一个字符串")
n = len(s) 
m = len(jieba.lcut(s))
print("中文字符数为{},中文词语数为{}。".format(n, m))

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

某商店出售某品牌运动鞋,每双定价160,1双不打折,2双(含)到4双(含)打九折,5双(含)到9双(含)打八折,10双(含)以上打七折,键盘输入购买数量,屏幕输出总额(保留整数)。示例格式如下:

输入: 1

输出:总额为: 160

提示:建议使用本机提供的Python集成开发环境IDLE编写、调试及验证程序。

n = eval(input("请输入数量:"))
if n == 1:
    cost = 160*n
elif 2<=n<=4:
    cost = 160*n*0.9
elif 5<=n<=9:
    cost = 160*n*0.8
else:
    cost = 160*n*0.7
print("总额为:",cost)

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

使用turtle库的turtle.fd()函数和turtle. seth()函数绘制一个边长为200的正菱形,菱形4个内角均为90度。效果如下图所示,箭头与下图严格-致。

计算机二级python第二套_第1张图片

提示:建议使用本机提供的Python集成开发环境IDLE编写、调试及验证程序

import turtle
turtle.pensize(2)
d = -45
for i in range(4):
    turtle.seth(d)
    d  += 90
    turtle.fd(200)

45、考生 文件夹下存在一个文件PY202.py,请在该文件中作答,实现以下功能。

键盘输入某班各个同学就业的行业名称,行业名称之间用空格间隔(回车结束输入)。完善Python代码,统计各行业就业的学生数量,按数量从高到低方式输出。例如输入:

交通 金融 计算机 交通 计算机 计算机

输出参考格式如下,其中冒号为英文冒号:

计算机:3

交通:2

金融:1

提示:建议使用本机提供的Python集成开发环境IDLE编写、调试及验证程序。

names=input("请输入各个同学行业名称,行业名称之间用空格间隔(回车结束输入):")
ls = names.split()
d = {}
for i in ls:
    d[i]=d.get(i,0)+1
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True) # 按照数量排序
for k in ls:
    print("{}:{}".format(k[0],k[1]))

46、考生文件夹下存在两个Python源文件,分别对应两个问题,请按照文件内说明修改代码,实现以下功能:

下面所示为一套由公司职员随身佩戴的位置传感器采集的数据,文件名称为“sensor.txt”,其内容示例如下:

2016/5/31 0:05, vawelon001, 1, 1

2016/5/31 0:20, earpa001, 1,1

2016/5/31 2:26, earpa001,1, 6

... (略)

第一列是传感器获取数据的时间,第二列是传感器的编号,第三列是传感器所在的楼层,第四列是传感器所在的位置区域编号。

问题1 (10分) :在PY301-1. py文件中修改代码,读入sensor. txt文件中的数据,提取出传感器编号为earpa00的所有数据,将结果输出保存到“earpa001. txt”文件。输出文件格式要求:原数据文件中的每行记录写入新文件中,行尾无空格,无空行。参考格式如下:

2016/5/31 7:11, earpa001,2, 4

2016/5/31 8:02, earpa001,3, 4

2016/5/31 9:22, earpa001,3,4

... (略)

问题2 (10分) :在PY301-2. py文件中修改代码,读入“earpa001. txt” 文件中的数据,统计earpa001对应的职员在各楼层和区域出现的次数,保存到“earpa001 _count. txt” 文件,每条记录一 -行,位置信息和出现的次数之间用英文半角逗号隔开,行尾无空格,无空行。参考格式如下。

1-1,5

1-4, 3

... (略)

含义如下:

第1行“1-1,5”中1-1表示1楼1号区域,5表示出现5次;

第2行“1-4,3”中1-4表示1楼4号区域,3表示出现3次;

提示:建议使用本机提供的Python集成开发环境IDLE编写、调试及验证程序。

#问题1
f = open('sensor.txt','r',encoding='utf-8')
fo = open('earpa001.txt','w')
ls = f.readlines()
for line in ls:
    lt = line.strip('\n').split(',')
    if lt[1] ==' earpa001': 
        fo.write('{},{},{},{}\n'.format(lt[0],lt[1],lt[2],lt[3]))
f.close()
fo.close()

#问题2
f = open('earpa001.txt','r',encoding='utf-8')
fo = open('earpa001_count.txt','w')
ls = f.readlines()
d = {}
for line in ls:
    lt = line.strip('\n').split(',')
    key = lt[2]+'-'+lt[3]
    d[key] = d.get(key,0)+1
ls = list(d.items())
ls.sort(key=lambda x:x[1], reverse=True) # 该语句用于排序
for k in ls:
    fo.write('{},{}\n'.format(k[0],k[1]))
f.close()
fo.close()

你可能感兴趣的:(计算机二级,python)