计算机二级-简单应用题

2023-11-17

题目要求

编写代码,以实现如下功能:
键盘输入小明学习的课程名称及考分等信息,信息间采用空格分隔,每个课程一行,空行回车结束录入,示例格式如下:
数学 90
语文 95
英语 86
物理 84
生物 87
屏幕输出得分最高的课程及成绩,得分最低的课程及成绩,以及平均分(保留2位小数)。


一、使用列表解决

  • 下面代码可以实现每个 一行,空行回车结束录入
data = input()
while data:
    data = input()

在这里插入图片描述

  • 拆分data数据
data = input()
while data:
    ls = data.split()
    print(ls)
    data = input()

在这里插入图片描述

  • 将课程和成绩组成列表,加到新的列表中
data = input()
ls = []
while data:
    ls.append(data.split())
    data = input()
    
ls

在这里插入图片描述

  • 按成绩从大到小排序
# 因为字符串作比较是一个字符一个字符比的,所有这里要用int将字符串转为数字
# reverse=True 从大到小排列
ls.sort(key=lambda x:int(x[1]),reverse=True)
ls		# [['英语', '100'], ['数学', '90'], ['语文', '80']]
  • 计算所有科目成绩的和
n = 0
for i in range(len(ls)):
    # ls[i][1] 是 字符串,不能运算
    n += int(ls[i][1])
    
n	# 270
# 平均分
avg = n/len(ls)	# 90.0
print("最高分课程是{} {}, 最低分课程是{} {}, 平均分是{:.2f}".format(ls[0][0],ls[0][1],ls[-1][0],ls[-1][1],avg))
# 最高分课程是英语 100, 最低分课程是语文 80, 平均分是90.00
  • 完整代码
data = input()
ls = []
while data:
    ls.append(data.split())
    data = input()
ls.sort(key=lambda x:int(x[1]),reverse=True)
n = 0
for i in range(len(ls)):
    n += int(ls[i][1])
avg = n/len(ls)
print("最高分课程是{} {}, 最低分课程是{} {}, 平均分是{:.2f}".format(ls[0][0],ls[0][1],ls[-1][0],ls[-1][1],avg))

输入

语文 80
数学 90
英语 100

输出

最高分课程是英语 100, 最低分课程是语文 80, 平均分是90.00

二、使用字典解决

data = input()
d = {}
while data:
    t = data.split()
    # 将列表t
    d[t[0]] = t[1]
    data = input()
    
d

在这里插入图片描述

  • 字典的键值
d.items()
# dict_items([('语文', '77'), ('数学', '88'), ('英语', '99')])
d.keys()
# dict_keys(['语文', '数学', '英语'])
d.values()
# dict_values(['77', '88', '99'])


for k,v in d.items():
    print(k,v)
# 语文 77
# 数学 88
# 英语 99
for i in d.keys():
    print(i)
# 语文
# 数学
# 英语
  • 字典转换为列表
# 默认将字典的键转为列表
list(d)
# ['语文', '数学', '英语']

list(d.items())
# [('语文', '77'), ('数学', '88'), ('英语', '99')]
ls = list(d.items())
  • 列表排序
# sort() 按照键的拼音字母比较
ls.sort()
ls
# [('数学', '88'), ('英语', '99'), ('语文', '77')]

# sort() 默认从小到大排序(reverse=False)
ls.sort(key=lambda x:x[1])
ls
# [('语文', '77'), ('数学', '88'), ('英语', '99')]

ls.sort(key=lambda x:x[1],reverse=True)
ls
# [('英语', '99'), ('数学', '88'), ('语文', '77')]
  • 计算总分
zongfen = 0
for i in d.values():
    # 字典的值是字符串,转变为int后计算
    zongfen += int(i)
  • 完整代码
data = input()
d = {}
while data:
    t = data.split()
    d[t[0]] = t[1]
    data = input()

ls = list(d.items())
ls.sort(key=lambda x:x[1],reverse=True)

zongfen = 0
for i in d.values():
    zongfen += int(i)
    
avg = zongfen/len(ls)
print("最高分课程是{} {}, 最低分课程是{} {}, 平均分是{:.2f}".format(ls[0][0],ls[0][1],ls[-1][0],ls[-1][1],avg))

输入

语文 77
数学 88
英语 99

输出

最高分课程是英语 99, 最低分课程是语文 77, 平均分是88.00

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机二级-简单应用题 的相关文章

随机推荐

  • ceph集群换盘

    一引言 某地项目运行两年后磁盘批量报错 利用smartctl检测发现出现大量扇区错误 但并未达到彻底无法读写程度 统计下来发现数量接近40块 考虑批次换盘 坏盘期间为了保证不影响业务 需拟定一个较好的方案 二 方案 在查阅一堆资料后 发现无
  • 地图切片工具集合

    最近比较感兴趣地图瓦片生成 搜到不少有用的工具 发现以下三种已经比较成熟 文档齐全 当然还有很多专门的工具或者更好而且没有发现 欢迎补充 MapTiler gdal2tiles GUI版 目前版本为alpha 能够切成符合tms标准格式的瓦
  • 数据库中的关键字——字段(列)、记录(元组)、表、主键、外键

    一 字段 列 某一个事物的一个特征 或者说是属性 其中姓名就是员工的一个属性 可称之为字段 二 记录 元组 事物所有特征的组合 可以描述一个具体的事物 三 表 记录的组合 表示 同一类 事物的组合 四 主键 能唯一标识信息的事物 在说主键之
  • JAVA基础原理篇_1.1—— 关于JVM 、JDK以及 JRE

    目录 一 关于JVM JDK以及 JRE 1 JVM 2 JDK 3 JRE 二 为什么说 Java 语言 编译与解释并存 2 2 将高级编程语言按照程序的执行方式分为两种 2 2 Java的执行过程 2 3 所以为什么Java语言 编译与
  • Win7缺少d3dcompiler_43.dll文件如何处理?

    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题 如果是新手第一时间会认为是软件或游戏出错了 其实并不是这样 其主要原因就是你电脑系统的该dll文件丢失了或者损坏了 这时你只需下载这个d3dcompiler 43 dll文件进行安装
  • 使用tar --checkpoint提权操作 详解--checkpoint-action的参数及作用

    如果管理员给予了某个普通用户tar命令的超级管理员操作 那么我们可以使用tar命令进行提权 命令如下 sudo u root tar cf dev null exploit checkpoint 1 checkpoint action ex
  • error:03000086:digital envelope routines::initialization error

    error 03000086 digital envelope routines initialization error 问题原因分析 1 node版本问题 2 具体错误原因 ERR OSSL EVP UNSUPPORTED 错误SSL
  • 51单片机——LED灯

    如下图所示是51单片机的开发板原理图 我们想要让二极管D1亮 只需要把p20口置低电平即可 只需要把P2寄存器第0位置0 LED原理解释 CPU配置寄存器的值来控制硬件电路达到我们预期效果 例程1 点亮第一个LED include
  • MongoDB 非正常关机/意外关机(拉电闸)后无法启动的解决方案

    一 环境 Host CentOS 7 9 Version MongoDB 5 Install 二进制 二 说明 公司某天电闸突然跳闸 导致服务器重启后 伴随的自启动服务 MongoDB 启动失败 具体报错如下所示 三 排查 1 查看启动状态
  • IDEA:Warning: No artifacts configured FIX

    问题 办法 Warning No artifacts configured 警告 未配置项目 给idea项目添加tomcat的时候出现 解决办法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 现在还不够 16 17
  • QT连接SQLserver详细教程

    Qt 连接 SQL Sever数据库 环境 一 配置 ODBC数据源 一 在SQL Sever Manger中添加 新的用户 1 打开如下自带的 MSS Management Studio 2 登录时选择 Windows 身份验证 3 去往
  • 在python中使用python-docx实现word文档自动化

    五一马上就要结束了 趁着今天休息的一天 给大家说说在python对办公文档处理 文章中说要详细的介绍python中几个对文档处理的库 今天就介绍一下word文档处理的python docx库 好了废话不多说开始吧 哈哈哈哈哈哈哈啊哈哈 py
  • 学习MongoDB 三: MongoDB无法启动的解决方法

    一简介 我们之前介绍了MongoDB入门 安装与配置 我们今天在打开MongDB时 我们先运行cmd exe进入dos命令界面 然后进入cd D mongodb bin目录下 启动服务或者mongo命令都报了错误 二 解决 1 net st
  • vue实现三级联动

    div div
  • 图片在盒子内等比展示不变形

    通过这个属性 object fit cover 使用场景如下 fatherBox 父盒子要有宽高 width 240px height 240px sonBox 子盒子 width 100 height 100 object fit cov
  • 7种Git错误以及解决方法

    使用Git的时候如果出现报错 要会解决Git错误 以下整理了七种Git错误以及解决的方法 1 当出现fatal not a git repository or any of the parent directories git时 说明不是一
  • vector find() 用法

    int main vector
  • STM32的PA0输出高电平的具体库函数代码操作

    在STM32中 可以使用库函数控制PA0输出高电平 具体的代码如下 初始化GPIOA的引脚模式 设置PA0为输出模式 GPIO InitTypeDef GPIO InitStruct HAL RCC GPIOA CLK ENABLE GPI
  • Score SDE 三种随机微分方程代码解读

    定义SDE类 定义了7个子函数 T End time of the SDE sde marginal prob Parameters to determine the marginal distribution of the SDE p t
  • 计算机二级-简单应用题

    题目要求 编写代码 以实现如下功能 键盘输入小明学习的课程名称及考分等信息 信息间采用空格分隔 每个课程一行 空行回车结束录入 示例格式如下 数学 90 语文 95 英语 86 物理 84 生物 87 屏幕输出得分最高的课程及成绩 得分最低