0


【计算机二级Python】综合题目

计算机二级python真题


文章目录


在这里插入图片描述


一、简单应用——明星投票

描述使用字典和列表型变量完成最有人气的明星的投票数据分析。投票信息由附件里的文件vote.txt给出,

一行只有一个明星姓名的投票才是有效票

。有效票中得票最多的明星当选最有人气的明星。

问题一:请统计

有效票张数

。在编程模板中补充代码完成程序。

像一行同时出现 (孙俪 杨幂)则为无效票

附图vote.txt截图

在这里插入图片描述

代码:

withopen("vote.txt",encoding="utf-8")as f:
    names = f.readlines()

n =0for name in names:
    num =len(name.split(" "))if num ==1:
        n+=1print("有效票{}张".format(n))

问题二:请给出当选最有人气明星的姓名和票数。

withopen("vote.txt",encoding="utf-8")as f:
    names = f.readlines()

D ={}for name in names:iflen(name.split(" "))==1:
        D[name[:-1]]=D.get(name[:-1],0)+1
l =list(D.items())
l.sort(key=lambda s:s[1],reverse =True)
name = l[0][0]
score = l[0][1]print("最具人气明星为:{},票数为:{}".format(name, score))

二、综合应用题《评奖学金 两问》

某班学生评选一等奖学金,学生的10门主干课程成绩存在附件score.txt中,每行为一个学生的信息,分别纪录了学生学号、姓名以及10门课成绩,格式如下:
1820161043 郑珉镐 68 66 83 77 56 73 61 69 66 78

1820161044 Е 91 70 81 91 96 80 78 91 89 94从

这些学生中选出奖学金候选人。条件如下:

问题1: 总成绩排名在前10名;

给出按总成绩从高到底排序的前10名学生名单,并写入文件candidate0.txt,每行纪录一个学生的信,息,分别为学生学号、姓名以及10门课成绩。补充,修改编程模板中的代码完成这些功能。

代码:

fi =open("score.txt","r", encoding="utf-8")
lines = fi.readlines()
D =[]# 单个学生的数据
L =[]# 所有学生原始成绩和总成绩# 读取学生单科成绩并计算总成绩for line in lines:
    D = line.split()
    s =0# 每个学生的总成绩初始值for i inrange(10):
        s +=int(D[i +2])# 各科成绩累加求和,+2是因为前两个元素是学号和姓名
    D.append(s)
    L.append(D)
fi.close()

L.sort(key=lambda x: x[-1], reverse=True)# 按学生总成绩从大到小排序

fo =open('candidate0.txt','w', encoding="utf-8")for i inrange(10):# 取前十个学生数据for j inrange(len(L[i])-1):# 一个学生的各项数据
        fo.write('{} '.format(L[i][j]))# 文件中写入各项数据,用空格隔开
    fo.write('\n')# 换行
fo.close()

问题2:全部课程及格(成绩大于等于60) 。(下一题的答案中会增加判断条件)

问题2:读取文件candidate0.txt,从中选出候选人,并将学号和姓名写入文件candidate.txt,格式如下:

1010112161722 张三

1010112161728 李四

……

代码:

fi =open('candidate0.txt', encoding="utf-8")

ls =[]for line in fi:
    ls.append(line.strip().split())
fi.close()

fo =open('candidate.txt','w', encoding="utf-8")for l in ls:for i inrange(2,len(l)):ifeval(l[i])<60:breakelse:
        fo.write('{} {}\n'.format(l[0], l[1]))

fo.close()

本文转载自: https://blog.csdn.net/guanguan12319/article/details/129523912
版权归原作者 倾夏12319 所有, 如有侵权,请联系我们删除。

“【计算机二级Python】综合题目”的评论:

还没有评论