首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
考生文件夹下存在一个文件“PY202.py”,该文件是本题目的代码提示框架,其中代码可以任意修改。请在该文件中编写代码,以实现如下功能。 用键盘输入某同学的课程名及成绩等信息,信息间采用空格符分隔,每个课程一行,按键结束输入,示例格式如下。 数学98 语文
考生文件夹下存在一个文件“PY202.py”,该文件是本题目的代码提示框架,其中代码可以任意修改。请在该文件中编写代码,以实现如下功能。 用键盘输入某同学的课程名及成绩等信息,信息间采用空格符分隔,每个课程一行,按键结束输入,示例格式如下。 数学98 语文
admin
2021-03-16
72
问题
考生文件夹下存在一个文件“PY202.py”,该文件是本题目的代码提示框架,其中代码可以任意修改。请在该文件中编写代码,以实现如下功能。
用键盘输入某同学的课程名及成绩等信息,信息间采用空格符分隔,每个课程一行,按
键结束输入,示例格式如下。
数学98
语文89
英语94
物理74
科学87
输出得分最高的课程名及成绩,得分最低的课程名及成绩,以及平均分(保留2位小数),结果保存在考生文件夹下,命名为“PY202.txt"。
注意,其中逗号为英文逗号,格式如下。
最高分课程是数学98。最低分课程是物理74,平均分是88.40
试题程序:
#以下代码为提示框架
#请在程序的…处使用一行或多行代码替换
#请在程序的________处使用一行代码替换
#注意:提示框架的代码可以任意修改,以完成程序功能为准
fo=open("PY202.txt","w")
data=input("请输入课程名及对应的成绩:")#课程名 成绩
…
while data:
…
data=input("请输入课程名及对应的成绩:")
…
fo.write("最高分课程是{}{},最低分课程是{}{},平均分是{:.2f}".format(________))
fo.close()
选项
答案
fo=upon("PY202.txt","w") data=input("请输入课程名及对应的成绩:")#课程名 成绩 course_score_dict={} while data: course,score=data.split(’’) course_score_dict[course]=eval(score) data=input("请输入课程名及对应的成绩:") course_list=sorted(list(course_score_dict,values()) max_score,min_score=course_list[-1],course_list[0] average_score=sum(course_list)/len(course_list) max_course,min_course="," for item in course_score_dict.items(): if item[1]==max_score: max_course=item[0] if item[1]==min_score: min_course=item[0] fo.write("最高分课程是{} {},最低分课程是{} {},平均分是{:.2f}".format(max_course,max_score,minz-course,min_score,average_score)) fo.close()
解析
本题涉及课程名及其成绩的统计,可以借助字典来实现,课程名及其对应的成绩构成字典的键值对。先定义一个字典变量course_score_diet,然后对其进行构造,课程名作为字典的键,其成绩作为键对应的值。
题目要求输出最高成绩和最低成绩,就需要对成绩进行排序,可以使用sorted()函数,但该函数只适用于序列类型,因此需要将字典转换成列表。可以使用字典的values()方法返回所有的值信息(即所有的成绩),将这些值存入一个列表中,然后对该列表按升序进行排序并赋值给列表course_list。此时,列表course_list中第一个元素course_list[0]就是最低分min_seore,最后一个元素course_list[-1]就是最高分max_score,列表中所有元素的和除以列表的长度就是平均分average_score。
题目还要求输出最高分和最低分对应的课程名,可以使用for循环遍历字典course_core_dict中的每个键值对,判断键值对中的值是否和max_score或min_score相等,如果和max_score相等,则该值对应的键即为最高分课程名max_course,如果和min_score相等,则该值对应的键即为最低分课程名mix_course。最后将max_course、max_score、min_course、min_score、average_score根据格式写入文件“PY202.txt”中。
转载请注明原文地址:https://kaotiyun.com/show/YS6p777K
本试题收录于:
二级Python题库NCRE全国计算机二级分类
0
二级Python
NCRE全国计算机二级
相关试题推荐
(1)在考生文件夹下,将BOOKS表中所有书名中含有“计算机”3个字的图书复制到BOOKSBAK表中,以下操作均在BOOKS_BAK表中完成。(2)复制后的图书价格在原价格的基础上降低5%。(3)从图书均价高于25元(含25)的出版社中,查询并显示图
将学号为“02080110”、课程号为“102”的选课记录的成绩改为92,正确的SQL语句是()。
有如下赋值语句,结果为“大家好”的表达式是()。a="你好"b="大家"
在考生文件夹下完成下列操作:1.修改并执行程序temp。该程序的功能是根据“教师表”和“课程表”计算讲授“数据结构”这门课程,并且“工资”大于等于4000的教师人数。注意:只能修改标有错误的语句行,不能修改其他语句。2.在“学校”数据库中(在基本操作题
以下关于自由表的叙述,正确的是()。
以下是与设置系统菜单有关的命令,错误的是()。
一棵二叉树的前序遍历结果是ABCEDF,中序遍历结果是CBAEDF,则其后序遍历的结果是()。
在命令按钮组中,决定命令按钮数目的属性是
下列选项中不属于软件生命周期开发阶段任务的是
关于Python序列类型的通用操作符和函数,以下选项中描述错误的是
随机试题
新生霉素敏感性试验适用于鉴定
待摊费用分摊时,土地征用费、勘察设计费应按()分摊。
建设工程项目施工阶段质量控制的重点是()。
根据所给资料,采用“月末一次加权平均法”登记甲材料明细账。要求:(1)根据“材料明细账”中的资料计算发出材料的月末一次加权平均单价和发出的材料的实际成本。必须写出计算过程,未写出计算过程的不能得分。发出材料的月末一次加权平均
为了维护期货交易市场的稳定,中国证监会及其派出机构不得提高期货公司的风险监管指标标准。()
借款人向银行申请1年期贷款100万元,经测算其违约概率为2.5%,违约回收率为40%,该笔贷款的信用VaR为10万元,则该笔贷款的非预期损失为()。
按角色获得的方式可将角色分为()。
以下关于网络控制的叙述,正确的是()。
报表的数据源不能是()。
微型计算机的内存储器是 ( )
最新回复
(
0
)