邮票面值-2022年全国青少年信息素养大赛Python国赛第5题

news/2025/3/15 1:14:01/

 [导读]:超平老师计划推出《全国青少年信息素养大赛Python编程真题解析》50讲,这是超平老师解读Python编程挑战赛真题系列的第7讲。

全国青少年信息素养大赛(原全国青少年电子信息智能创新大赛)是“世界机器人大会青少年机器人设计与信息素养大赛”赛事之一,由中国电子学会主办,包含很多赛项,大赛自2013年举办,已连续成功举办八届,已正式入围“2022-2025学年面向中小学生的全国性竞赛活动名单”。 

大赛旨在激发广大青少年的科学兴趣和想象力,培养钻研探究、创新创造的科学精神和实践能力,促进青少年科技创新活动的广泛开展,发现和培养一批具有科研潜质和创新精神的青少年科技创新后备人才。

大赛主要竞赛类别包括电子科技、智能机器人、软件编程三类,全国青少年Python编程挑战赛就属于其中的软件编程类。

一.赛事说明

2021-2022年(第8届)Python挑战赛赛程分为初赛、复赛和总决赛三个阶段。初赛是资格赛,复赛是地方选拔赛,总决赛是全国各地选拔的精英汇聚在一起进行PK。

2021-2022年全国青少年Python编程挑战全国总决赛于2022年8月27日正式举行。一共是10道编程题,每道题100分,满分1000分,考试时间是120分钟。

10道编程题分别如下:

  • 分苹果

  • 韩信点兵

  • 借书问题

  • 四位数密码

  • 邮票面值

  • 取球

  • 统计连续字符

  • n的n次方

  • 海盗搜身

  • 父与子

超平老师将分10讲对每道题进行详细的解读和剖析,今天要解读的是第5题,邮票面值。

二.题目描述

题目背景:

我们在寄信的时候都要贴邮票,在邮局有一些小面值的邮票,通过这些小面值邮票中的一张或者几张的组合,可以满足不同邮件的不同邮资。

已知每个信封上最多能贴5张邮票,邮票的种类至少需要3种,任意输入一个数字n代表邮票的种类,然后依次输入n个数字代表不同种类的邮票面值,计算并输出每个信封上可以构成的邮资的最大值。

输入描述:

第一行输入一个数字n代表邮票的种类;

然后依次输入n行数字代表n个不同种类的邮票面值;

输出描述:

输出每个信封上可以构成的邮资的最大值。

样例输入:

4

1

2

3

4

样例输出:

17

注意:

input()内不添加任何参数

只有完全正确才可提交,若无法点击提交说明答题存在错误,可及时进行检查并修改

三.思路分析

邮票是邮政机关发行,作为寄送邮件的邮资凭证,通常有各种不同的面值,从而组合得到不同的邮资。

根据题目描述,要找5张邮票组合得到的最大值,最理想的情况是直接选择5张面值最大的邮票。

但是题目要求至少有3种不同邮票,我们可以选3张面值最大的邮票,然后再选出面值第二大和第三大的两张邮票。

在编写程序时,要注意以下几点:

1). 要确保输入n个数字,需要使用循环来实现;

2). 由于输入的数字并不一定是有顺序的,所以需要使用sort函数对面值进行排序;

接下来,我们进入具体的编程实现环节。

四.编程实现

根据上面的思路分析,我们编写代码如下:


# 获取数字n
n = int(input())
# 定义列表stamps,用于保存不同的面值
stamps = []
# 依次输入不同邮票面值,并存入列表中
for i in range(n):stamps.append(int(input()))# 对列表进行排序
stamps.sort()# 取最后三项,其中最后一项取3次
_max = sum(stamps[-3:]) + stamps[-1] * 2
print(_max)

简单说明3点:

1). append方法的作用是向列表中追加列表项;

2). sort方法用于列表排序,默认从小到大排序; 

3). 在Python中,可以使用切片操作来获取列表的某几项,其中[-3:]省略了第二个参数,表示从倒数第3项开始取,直到最后1项,而[-1]则表示最后一项。

五.总结与思考

本题难度一般,考查的知识点主要包括:

  • 输入输出函数,重点是多行数据的输入;

  • 列表操作,包括插入元素、排序、获取元素和切片操作;

  • 类型转换;

解决本题的关键点是列表的灵活运用,列表是Python编程中非常重要的数据结构,与之对应的操作和函数也比较多,是我们学习的重点,一定要多加练习,熟练掌握。

如果你觉得文章对你有帮助,别忘了点赞和转发,予人玫瑰,手有余香😄


http://www.ppmy.cn/news/810146.html

相关文章

电脑识别不了手机等USB设备,怎么办?

百度搜索 :“ 电脑 usb检测不到 ” 具体步骤参考: 百度教程: 电脑识别不了USB设备怎么办 以上就是关于“ 电脑识别不了手机等USB设备,怎么办? ” 的全部内容。

安卓手机与电脑连接正常却不显示设备

问题通常出现在同一部手机以前可以连接,但刷机后却出问题了。症状是:手机通知栏显示已经和电脑通过媒体设备连接,电脑的托盘USB指示也显示连接正常,但资源管理器却怎么都不显示手机设备。 原文地址:http://zhangcs3d.b…

计算机上的usb设备是什么东西,电脑是如何识别你插上了USB设备

描述 每次当插上鼠标或者U盘的时候,电脑是怎么知道是什么设备的呢?这里用到的就是枚举了。枚举,其实就是让HOST认识这个USB涉笔,并且为该设备准备资源,建立好主机和设备之间的数据传递机制。 USB设备枚举过程可以分为8…

电脑无法通过USB方式访问手机存储

本人电脑是win10系统,偶尔将安卓手机连接到电脑,USB用途选择“文件传输"或者连接方式选择“媒体设备(MTP)”之后,发现电脑无法显示手机图标,而且找不到盘符或移动盘的标志,通过驱动精灵、驱…

手机无法被计算机识别,解决手机无法被PC识别的问题

相信很多Windows电脑用户都遇到过类似问题:当用数据线将手机和PC相连后却无法被Windows系统识别,无论重启PC还是手机都无效。此时,我们该如何解决? 手机端的设置问题 如果你的Android手机突然无法被PC识别后,请先检查手…

手机连接电脑不读手机的终极解决方案

解决方案 首先在开发者选项里面把USB设置关闭没有开发者选项的自己百度关闭USB选项后,重新用数据线连接电脑如果还说无法识别的USB设备,请重新用数据线连接电脑,基本两三次就会成功如果你是开发者的话,再去打开USB设备就可以调试…

手机无法被计算机识别,关于手机无法被电脑识别?

相信很多Windows电脑用户都遇到过类似问题:当用数据线将手机和PC相连后却无法被Windows系统识别,无论重启PC还是手机都无效。此时,我们该如何解决? 手机端的设置问题 如果你的Android手机突然无法被PC识别后,请先检查手…

手机计算机无法使用,用数据线把手机连接电脑,电脑无法识别,怎么回事?

面丶丶具 回答数:3 | 被采纳数:38 2017-12-26 17:20:03 首先,先试下其他USB设备在此接口上是否正常。 如果还是无法识别,有可能是系统问题。尝试更新一下驱动程序,或者进入BIOS看看USB2.0是否开启,并改为…