电梯用电量-第10届蓝桥杯国赛Python真题精选

news2024/11/29 8:56:45

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第8讲。

电梯用电量,本题是2019年5月25日举行的第10届蓝桥杯青少组Python编程国赛真题,题目要求通过输入的某段时间内电梯停过的楼层顺序,编程计算电梯消耗了多少单位电量。

先来看看题目的要求吧。

一.题目说明

编程实现:

计算某个电梯的用电量。

电梯可到达最低楼层为地下3层(-3),最高为地上12层(12),中间没有0层;

电梯向上运行时每上升1层消耗1单位电量,向下运行时每下降1层消耗0.3单位电量;

请你通过输入的某段时间内电梯停过的楼层顺序,计算电梯消耗了多少单位电量。

输入描述:

N个数字(2 <= N <= 10),数字间以逗号分隔,代表电梯停过的楼层[-3,12];

输出描述:

电梯消耗的单位电量数;

样例1输入:

1, 11, 1

样例1输出:

13.0

样例2输入:

1, 5, 8, 1,-3, 12, 1

样例2输出:

27.3

评分标准:

  • 10分:可以接受输入的楼层层数,并输出计算结果,即使计算结果不正确;

  • 30分:至少对一个评判用例,能输出正确结果;

  • 50分:完全符合题意,即对所有评判用例,输出结果均正确。

二.思路分析

这是一道计算题目,涉及到的主要知识点包括输入处理、列表运算、循环结构和选择结构。

上下楼梯,这是多么熟悉的场景。

图片

看出这张图中的特殊之处了吗?

就是没有0层,1层的下面是-1层,反之-1层的上面是1层。

计算的过程比较好理解,无非就是后一项减去前一项,看看是上楼还是下楼,再计算消耗电量,然后进行累加即可。

为了方便理解,超平老师使用表格将这个过程画出来。

先来看样例1,输入的数字分别是1,11,1。

图片

样例1的数据不涉及负数楼层的,计算起来非常简单。

再来看样例2,输入的数字分别是1, 5, 8, 1,-3, 12, 1。

图片

样例2的数据涉及到负数楼层,所以在计算的时候,需要额外处理。可以分成如下两种情况:

  • 差值为负数

  • 差值为正数

先来看看差值为负数的情况,比如上图中的第4趟,从1层到-3层。

如果直接相减,-3 - 1 = -4,但由于没有0层,实际上只下了3层,此时需要在相减的结果上再增加1,即-4 + 1 = -3。

再来看差值为正数的情况,比如上图中的第5趟,从-3层到12层。

如果直接相减,12 -(-3)= 15,但由于没有0层,实际上只上了14层,此时需要在相减的结果上再减去1,即15 - 1 = 14。

所以,在计算的时候,需要对差值进行判断,并分上楼和下楼两种情况分别进行处理,逐个计算出每一趟的耗电量,再进行累加,从而得到总的耗电量。

思路有了,接下来,我们就进入具体的编程实现环节。

三.编程实现

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

图片

代码不难理解,简单说明两点:

1). 输入的数字串是由逗号隔开的,先使用split()方法进行分割,得到的是列表,结合列表推导式,将字符串转成数字,保存到列表floors中;

2). 如何判断是否有正数楼层到负数楼层或者负数楼层到正数楼层呢,其实很简单,就是相邻的两项一正一负,所以可以使用相乘的结果来判断了,如下:

floors[i + 1] * floors[i] < 0:

至此,整个程序就全部完成了,你可以输入不同的数据进行测试。

四.思考与总结

本题的分数为50分,代码在15行左右,涉及到的知识点包括:

  • 循环语句,主要是for...in循环;

  • 条件语句及其嵌套用法;

  • 字符串处理,重点是split方法;

  • 列表推导式的妙用;

题目难度一般,难点有两个,一是如何将输入的数字串转成数字列表,二是如何处理跨越正负楼层的情形。

对于第一个问题,必须要熟练掌握split()方法的使用,以及列表推导式的编程技巧。几乎每一次比赛中都会遇到类似的输入处理问题。

对于第二个问题,最好的处理方法就使用图表将具体情形画出来,然后再寻找其中的规律,从特殊到一般,这就是所谓的归纳法。

你还有什么好的想法和创意吗,也非常欢迎和超平老师分享探讨。

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

需要源码的,可以移步至“超平的编程课”gzh。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1192133.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

闪站侠洗衣洗鞋管理系统app小程序开发;

闪站侠洗护软件系统为您提供全面的洗衣洗鞋解决方案&#xff0c;系统多门店&#xff0c;多网点。为您开通公中号小程序&#xff0c;并与顺丰、天猫、抖音、美团点评等第三方平台紧密连接。 我们解决洗衣工厂/门店的五大问题&#xff1a; 一、效率 从门店收衣到工厂出库&#xf…

解决GitHub不能访问

1&#xff1a;ping github.com,得到可以解析的地址 2&#xff1a;在host文件里面添加地址&#xff08;记事本打开&#xff09;。 3&#xff1a;可以添加稳定的地址&#xff08;记得地址前加“#”&#xff09; #140.82.121.3 # GitHub #140.82.114.4 # GitHub #140.82.112.4 …

如何构建新一代实时湖仓?袋鼠云基于数据湖的探索升级之路

在之前的实时湖仓系列文章中&#xff0c;我们已经介绍了实时湖仓对于当前企业数字化转型的重要性&#xff0c;实时湖仓的功能架构设计&#xff0c;以及实时计算和数据湖结合的应用场景。 在本篇文章中&#xff0c;将介绍袋鼠云数栈在构建实时湖仓系统上的探索与落地实践&#…

html实现竖直步骤条

1、问题描述 最近碰到一个需求&#xff0c;要把审批流程改为竖直步骤条的形式。本来想直接抄网上的&#xff0c;但是网上给的要么是水平步骤条&#xff0c;要么是集成在框架里的&#xff0c;要么就是人家写的太复杂了&#xff0c;js&#xff0c;css一大堆。 2、我的代码 代码下…

【沁恒 CH32V208 开发板免费试用】+ U盘/ SD NAND读写与多功能数码相框

CH32V208继承了沁恆产品一贯的传统&#xff0c;即U盘的读写功能。这使得尽管CH32V208的闪存要比CH32V307的小一倍&#xff0c;但有了U盘读写功能的支持就可有效地缓解用户对存储空间的需求。它除了支持U盘的读取&#xff0c;还支持对CS SD NAND (贴片式TF卡/SD卡) 这类器件的使…

小黑子—springMVC:第一章 请求处理与响应数据

springMVC入门1.0 1、小黑子的springMVC基础1.1 SpringMVC概述1.2 SpringMVC快速入门1.3 Controller中直接注入spring中维护的Bean1.4 SpringMVC关键组件浅析 2、SpringMVC的请求处理2.1 请求映射路径配置2.2 请求数据的接收2.2.1 键值对方式接收数据2.2.1 - I RquestParam属性…

Linux Hadoop平台伪分布式安装(Hive on Spark)

&#x1f4d4;Linux Hadoop 伪分布式安装(Hive on Spark) 安装目录 1. JDK2. Hadoop3. MysqlHive3.1 Mysql8安装3.2 Hive安装 4. Spark4.1 Maven安装4.2 Scala安装4.3 Spark编译并安装 5. Zookeeper6. HBase 版本概要&#xff1a; jdk&#xff1a; jdk-8u391-linux-x64.tar.gz…

浅析SR隧道路径批量构造方法

为什么要仿真PCE LSP下发隧道路径&#xff1f; 在大型的多区域网络中&#xff0c;路径计算非常复杂。在某些场景下&#xff0c;为了完成路径计算&#xff0c;需要在控制器上部署特殊的计算组件&#xff0c;并需要不同区域中的节点之间协作。这使得网元在进行路径计算时效率低&…

局部路由守卫path守卫

局部路由守卫path守卫 path守卫&#xff08;beforeEnter&#xff09; 代码位置&#xff1a;path守卫代码写在route对象中&#xff08;index.js文件&#xff09;beforeEnter是一个函数&#xff0c;参数上没有回调函数beforeEnter有三个参数&#xff1a; to参数&#xff1a;to是…

CocosCreator | 2.3.3及后续版本浏览器无法断点和控制台不显示错误代码路径的解决方案(cocos代码报错无法定位的问题)

在2.3.3正式版的官方介绍中有这么一项&#xff1a; 提升网页预览时的加载速度 为了进一步提升开发效率&#xff0c;我们优化了网页预览时的脚本加载速度。不论是对引擎还是项目中的代码&#xff0c;载入速度都获得了提升。特别是在开启自定义引擎&#xff0c;或者使用手机扫码…

实时时钟和日历电路MS85163/MS85163M

主要特点 ◼ 基于 32.768kHz 晶振提供年、月、日、 周工作日、小时、分钟和秒 ◼ 具有世纪标记&#xff0c;可工作于 2000-2199 年 ◼ 工作电压&#xff1a; 1.8V-5.5V ◼ 低功耗 ◼ 最高频率达 400kHz 的 I 2 C 接口 ◼ 可编程的时钟输出 (32.768kHz, 1.024kHz…

开发人员请注意:在 PyPI 上的 Python 包中发现 BlazeStealer 恶意软件

1、开发人员请注意&#xff1a;在 PyPI 上的 Python 包中发现 BlazeStealer 恶意软件 一组新的恶意 Python 包已经滑入 Python 包索引 &#xff08;PyPI&#xff09; 存储库&#xff0c;其最终目的是从受感染的开发人员系统中窃取敏感信息。这些软件包伪装成看似无害的混淆工具…

记录一次数据库内存占满

一&#xff0c;背景及表现 用户普遍反馈业务功能&#xff0c;无法加载出数据&#xff0c;服务挂了 二&#xff0c;数据库指标 三&#xff0c;排查方反馈 排查方反馈&#xff1a;查全量数据导致的&#xff0c;就是没查出来但是一直在查 四&#xff0c;分析 1.应用服务器问题…

深度系统v15.4正式发布,惊艳眼球

导读深度操作系统是一个致力于为全球用户提供美观易用、安全可靠的Linux发行版。深度桌面操作系统V15.4专业版使用全新设计的控制中心和重构桌面&#xff0c;采用模糊透明整体风格&#xff0c;全新的热区交互及窗口管理器动效&#xff0c;精挑细选的桌面壁纸&#xff1b;采用全…

VNC连接服务器实现远程桌面 --以AutoDL云服务器为例

VNC连接服务器实现远程桌面 --以AutoDL云服务器为例 针对本地机为Windows 云服务器租显卡跑些小模型很方便&#xff0c;但是当你想做可视化的时候&#xff0c;可能会遇到麻烦&#xff0c;云服务器没有显示输出界面&#xff0c;无法可视化一些检测任务的结果&#xff0c;或者可…

Python爬虫爬取家纺数据并分析

因为时间的原因&#xff0c;没法写一个详细的教程&#xff0c;但是我可以提供一个基本的框架。你需要根据实际情况进行修改和扩展。以下是使用Python的requests库和BeautifulSoup库来爬取网页内容的基本步骤&#xff1a; # 导入所需的库 import requests from bs4 import Beaut…

从零开始搭建SpringCloud微服务集群:Nacos的安装和配置

目录 Nacos集群搭建 1.集群结构图 2.搭建集群 2.1.初始化数据库 2.2.下载nacos 2.3.配置Nacos 2.4.启动 2.5.nginx反向代理 2.6.优化 Nacos集群搭建 1.集群结构图 官方给出的Nacos集群图&#xff1a; 其中包含3个nacos节点&#xff0c;然后一个负载均衡器代理3个Nac…

winui3开发笔记(二)自定义标题栏

参考文章链接&#xff1a;https://www.programminghunter.com/article/46392310600/ 注意事项 获取 AppWindowTitleBar 的实例并设置其颜色属性时&#xff0c;InitializeTitleBar(AppWindow.TitleBar);&#xff0c;只适用于Windows App SDK 1.2及以上&#xff0c;所以如果用w…

基于springboot学生心理咨询评估系统的设计与实现 全套代码 全套文档 附带视频知道教程

springboot学生心理咨询评估系统,springboot vue mysql (毕业论文10784字以上,共30页,程序代码,MySQL数据库) 代码下载: 链接&#xff1a;https://pan.baidu.com/s/1MjiwuWdkVHFQ4toPP1vVrA?pwd4eck 提取码&#xff1a;4eck 【运行环境】 IDEA, JDK1.8, Mysql, Node, Vue …

Unity 跑酷游戏全部脚本(完结)

脚本1 触发器脚本 这个脚本是主角身上的脚本&#xff0c;用于检测是否碰到其他触发器&#xff0c;并做出对应的行为 using System.Collections; using System.Collections.Generic; using UnityEngine; public class ColliidisonTrigger : MonoBehaviour { //触发检测 …