Python二级--奖学金评选
奖学金评选-1
题目一:
概述:
'''
某班学生评选一等奖学金,学生的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名; 2) 全部课程及格(成绩大于等于60)。
问题1:给出按总成绩从高到低排序的前10名学生名单,并写入文件candi date0. txt,每行记录- -个学生的信
息,分别为学生学号、姓名以及101 ]课成绩。补充考生文件夹下文件PY301-1. py,完成这一功能。
'''
思路:
- 文件操作
'''score.txt文件和代码在一起'''
# 打开文件
fp = open(r'score.txt')
# 准备写入文件
fw = open(r'candidate0.txt', 'w')
- 定义一个列表L来存储处理好的数据
# L中的元素是学生原始成绩和总成绩
L = []
- 通过循环处理读取的每一条数据
# 循环处理
for score in fp:# 列表L中添加的是 ['1820161043', '郑珉镐', '68', '66', '83', '77', '56', '73', '61', '69', '66', '78']L.append(score.replace('\n', '').split(' '))
# 循环处理文件之后, 列表L中的内容为:
'''
[['1820161043', '郑珉镐', '68', '66', '83', '77', '56', '73', '61', '69', '66', '78'],
['1820161044', '沈红伟', '91', '70', '81', '91', '96', '80', '78', '91', '89', '94'],
......
['1320170211', '汪清爽', '75', '85', '57', '62', '77', '91', '89', '64', '79', '66']]
'''
- 对已经处理的数据进行加工
for i in L:# 截取个人的信息,只保留成绩部分 ['75', '85', '57', '62', '77', '91', '89', '64', '79', '66']tmp = i[2:]# 成绩求和s = 0for j in tmp:s += int(j)# 将总成绩 添加回 i 中为接下来排序做准备i.append(s)'''i 中的内容 因为 i是L中的元素 所以修改了i L中相对应的元素也会修改['1820161043', '郑珉镐', '68', '66', '83', '77', '56', '73', '61', '69', '66', '78', 697]'''
- 将列表排序
# 按照每个列表中的总成绩排序 降序
L.sort(key=lambda x: x[-1], reverse=True) # 按学生总成绩从大到小排序
print(L)
'''
['1120161858', '房正康', '95', '96', '93', '54', '93', '100', '84', '97', '94', '87', 893],
'''
- 输出结果
# 将前10名写入文件 candidate0.txt
for i in range(10):# 拼接写入tmp = ''# 除去总成绩 即为原始数据for j in L[i][:-1]:tmp += j + ' '# 去掉末尾的空格并 添加一个换行符fw.write(tmp[:-1] + '\n')
- 释放资源
# 关闭文件 释放资源
fw.close()
fp.close()
**总结**:
使用列表可以灵活的处理多维的数据(此题数据为二维),灵活应用字符串的分割与拼接可以使题目更简单
代码如下:
# 打开文件
fp = open(r'score.txt')
# 准备写入文件
fw = open(r'candidate0.txt', 'w')# L中的元素是学生原始成绩和总成绩
L = []
# 循环处理
for score in fp:# 列表L中添加的是 ['1820161043', '郑珉镐', '68', '66', '83', '77', '56', '73', '61', '69', '66', '78']L.append(score.replace('\n', '').split(' '))# 循环处理文件之后, 列表L中的内容为:
'''
[['1820161043', '郑珉镐', '68', '66', '83', '77', '56', '73', '61', '69', '66', '78'],
['1820161044', '沈红伟', '91', '70', '81', '91', '96', '80', '78', '91', '89', '94'],
......
['1320170211', '汪清爽', '75', '85', '57', '62', '77', '91', '89', '64', '79', '66']]
'''
# 对已经处理的数据进行加工
for i in L:# 截取个人的信息,只保留成绩部分 ['75', '85', '57', '62', '77', '91', '89', '64', '79', '66']tmp = i[2:]# 成绩求和s = 0for j in tmp:s += int(j)# 将总成绩 添加回 i 中为接下来排序做准备i.append(s)'''i 中的内容 因为 i是L中的元素 所以修改了i L中相对应的元素也会修改['1820161043', '郑珉镐', '68', '66', '83', '77', '56', '73', '61', '69', '66', '78', 697]'''
# 按照每个列表中的总成绩排序 降序
L.sort(key=lambda x: x[-1], reverse=True) # 按学生总成绩从大到小排序
print(L)
'''
['1120161858', '房正康', '95', '96', '93', '54', '93', '100', '84', '97', '94', '87', 893],
'''
# 将前10名写入文件 candidate0.txt
for i in range(10):# 拼接写入tmp = ''# 除去总成绩 即为原始数据for j in L[i][:-1]:tmp += j + ' '# 去掉末尾的空格并 添加一个换行符fw.write(tmp[:-1] + '\n')# 关闭文件 释放资源
fw.close()
fp.close()
相关代码和资源都会打包到下面的链接(另附一个份刷题笔记):
代码(直接用Python导入即可),软件,题库:
链接:https://pan.baidu.com/s/1WClgPe1D79_GKclR26LJdA
提取码:pjmm
Python二级--奖学金评选相关推荐
- Python二级--奖学金评选2
奖学金评选-2 题目一: 概述: ''' 问题2:读取文件candi date0. txt, 从中选出候选人,并将学号和姓名写入文件candi date. txt,格式如下: 101011216172 ...
- python二级第七套答案
python二级第七套答案 46.某班学生评选一等奖学金,学生的10门主干课成绩存在考生文件夹下文件score.txt中,每行为一个学生的信息,分别记录了学生学号.姓名以及10门课成绩,格式如下: 1 ...
- python考级证书-python二级证书有用吗
计算机Python二级证书到底有什么用?综合来看有6个好处. 1.满足竞争需求 在大学扩招.大学生贬值.经济下行.就业困难的多重压力之下,大学生越来越难独善其身,竞争压力越来越大,就拿计算机考证人数来 ...
- 全国计算机等级考试Python二级知识点_1
❤关注我,不迷路❤ 点击进入完整的Python专栏 全国计算机等级考试Python二级知识点整合_1 知识点模块 具体内容 备注 安装 下载地址:www.python.org/downloads 协议 ...
- 计算机等级考试Python二级
文章目录 1.算法杂度 1.1算法的特性 1.2算法的基本要素 1.3.1算法的控制结构 1.3.2时间和空间复杂度 2.数据结构基本概念 2.1数据结构的表示 2.2线性表的顺序存储结构 2.3线性 ...
- python二级题库 第四套
刷题软件(模拟python二级考试) 操作题刷题软件 公众h:露露IT 回复:python二级 一.选择题 1. 可以作为软件测试对象的是(). A. 需求规格说明 B. 源程序 C. 设计规格说明 ...
- python二级题库 第四套 附刷题软件
刷 题软件(模拟python二级考试) 操作题刷题软件 公众h:露露IT 回复:python二级 一.选择题 1. 描述数据库系统中全局数据逻辑结构.且为全体用户公共数据视图的是(). A. 概念模式 ...
- 江苏省计算机Python二级考试 总结
我考的是2019年3月份,江苏省Python二级考试.关于此次的总结,主要关于如何复习Python,试题回忆,考后反思三个方面. 一.Python复习步骤 1.1准备一本Python语言二级考试书籍, ...
- 杭电计算机学院2019年奖学金,关于计算机学院2019-2020学年国家励志奖学金评选的通知...
原标题:关于计算机学院2019-2020学年国家励志奖学金评选的通知 关于计算机学院2019-2020学年国家励志奖学金评选的通知 各年级专业: 为激励我校家庭经济困难在校学生勤奋学习.努力进取,在德 ...
最新文章
- 做项目时如何快速提高团队协作能力?
- Android EventBus 的使用
- 为什么B+树比B树更适合做数据库索引
- 在ASP.NET MVC3项目中,自定义404错误页面
- java8 策略模式_Java 8中的策略模式
- java集合清空_java 集合删除数据
- Python获取sklearn库中iris数据写入本地csv文件,可视化展示数据并进行分类、聚类实验以及结果可视化
- Ghost命令使用方法
- Differential Geometry之第十章极小曲面
- 全国行政区划代码(json对象)---包含键值对的城市代号和城市名称的json对象代码(不包括县级市)
- Ringtone 循环播放铃声
- 二分专项训练(二分搜索+二分答案的十贰道例题及解析
- 关于上传文件的报错问题
- python统计一组数据中的概率_Python实现概率分布
- 计算机网络人工智能论文,浅析计算机网络中人工智能的应用论文
- 自己做游戏(一)-PhotonServer配置
- 分享一款电机控制国产32位单片机MM32SPIN360C
- vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据
- Java 获取访问者的IP地址
- python中斜杠加引号什么意思_如何在Python中转义反斜杠和单引号或双引号?
热门文章
- DC初级摄友必学摄影技巧
- 从实际性能剖析,为什么MEMS激光雷达才是未来主流?
- 滚动截屏苹果_电脑手机技巧:苹果手机滚动截屏最优解
- 牛一网ecshop家电数码模板(仿易迅网)for ecshop 2.7.3
- 计算机图形学-颜色科学基础
- av_rescale_q_rnd”: 不能将参数 4 从“int”转换为“AVRounding” 1 转换为枚举
- google搜索---搜索指定网页的内容
- jQuery幻灯片带缩略图平移滑动焦点图
- 北理计算机学院2005年机试真题
- Android控件外边框自定义