python-比较月亮大小/数组下标/人见人爱a+b
一:比较月亮大小
题目描述
小理是一名出色的狼人。众所周知,狼人只有在满月之夜才会变成狼。
同时,月亮的大小随着时间变化,它的大小变化 3030 天为一循环。
它的变化情况(从第一天开始)为 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1 然后又再一次循环。
今年夏天小理很无聊,于是开始看月亮。由于小理很忙,所以他只选择一段连续的时间看月亮,并把月亮的大小记录了下来。
现在,他告诉你他记录下的东西,让你告诉他下一天(即小理记录下的最后一天的第二天)的月亮是比前一天(即小理记录下的最后一天)大还是小。
输入格式
给你一个正整数 n 表示点点记录下的时间个数。
下一行 n 个自然数表示点点记录下的月亮大小。
输出格式
一个字符串。
如果下一天的比前一天的大则输出"UP";
如果下一天的比前一天的小则输出"DOWN";
如果无法判断则输出" −1 "。
样例输入输出
样例输入#1
5
3 4 5 6 7
样例输出#1
UP
样例输入#2
8
12 13 14 15 14 13 12 11
样例输出#2
DOWN
样例输入#3
1
8
样例输出#3
-1
数据范围
对于 100% 的数据,保证 1≤n≤100,0≤ai≤15 。
保证输入的数据满足月亮变化的循环规律。
来源/分类(难度系数:一星)
数组 模拟
完整代码展示:
a=int(input())
b=list(map(int,input().split()))
if len(b)>=2:
if b[-1]>b[-2]:
if b[-1]!=15:
print("UP")
else:
print("DOWN")
elif b[-1]<b[-2]:
if b[-1]!=0:
print("DOWN")
else:
print("UP")
else:
print("-1")
a=int(input())
b=list(map(int,input().split()))
if len(b)>=2:if b[-1]>b[-2]:if b[-1]!=15:print("UP")else:print("DOWN")elif b[-1]<b[-2]:if b[-1]!=0:print("DOWN")else:print("UP")
else:print("-1")
代码解释:
“a=int(input())
b=list(map(int,input().split())) ”,导入用户观察的天数a,接着依次导入用户观察到的月亮大小,并将其储存在列表b中。
“if len(b)>=2:
if b[-1]>b[-2]:
if b[-1]!=15:
print("UP")
else:
print("DOWN")
elif b[-1]<b[-2]:
if b[-1]!=0:
print("DOWN")
else:
print("UP")
else:
print("-1") ”,判断列表b的长度是否大于等于2,如果是:则按判断顺序判断月亮是在变大或变小并打印结果。
运行效果展示:

二:数组下标
题目描述
给出一个数列 A ,求出一个数列 B 。
其中 Bi 表示数列 A 中 Ai 右边第一个比 Ai 大的数的下标(从 1 开始计数),没有找到这一个下标 Bi 就为 0 。
输出数列 B 。
输入格式
第一行 1 个数字 n 。
第二行 n 个数字第 i 个数字为 Ai 。
输出格式
一共一行,第 i 个数和第 i+1 个数中间用空格隔开。
样例输入输出
样例输入
6
3 2 6 1 1 2
样例输出
3 3 0 6 6 0
数据范围
对于 100% 的数据,保证 1≤n≤104,0≤Ai≤109 。
来源/分类(难度系数:一星) 循环递归 每日一题
完整代码展示:
a=int(input())
b=list(map(int,input().split()))
c=0
d=[]
while c<len(b):
e=b[:]
f=[]
for i in range(c+1,len(e)):
if e[i]>e[c]:
f.append(i+1)
d.append(f)
c+=1
for j in range(0,len(d)):
if len(d[j])==0:
print("0",end=" ")
else:
print(d[j][0],end=" ")
a=int(input())
b=list(map(int,input().split()))
c=0
d=[]
while c<len(b):e=b[:]f=[]for i in range(c+1,len(e)):if e[i]>e[c]:f.append(i+1)d.append(f)c+=1
for j in range(0,len(d)):if len(d[j])==0:print("0",end=" ")else:print(d[j][0],end=" ")
代码解释:
“a=int(input())
b=list(map(int,input().split())) ”,导入用户的数组元素数量a,接着依次导入用户给定的数组元素,并将其储存在列表b中。
“c=0
d=[]
while c<len(b):
e=b[:]
f=[]
for i in range(c+1,len(e)):
if e[i]>e[c]:
f.append(i+1)
d.append(f)
c+=1 ”,令c为循环密码子,初始值为0,接着建立一个空列表b,用于储存数组中任意元素右侧比该元素大的元素下标。当c<len(b)时:复制b赋给e,建立一个空列表f,接着依次遍历e中e[c+1]~e[len(e)-1]元素e[i],判断e[i]是否大于e[c],如果是:则将下标添加进f中。遍历结束后,将f添加进d中。每循环一次:c+1,直至c==len(b),跳出整个while循环。
“for j in range(0,len(d)):
if len(d[j])==0:
print("0",end=" ")
else:
print(d[j][0],end=" ") ”,依次遍历d中元素,判断d[j]是否为空列表:如果是,则打印”0”,以空格结尾,否则打印d[j][0],以空格结尾。
运行效果展示:


三:人见人爱a+b
题目描述
北大的acm上面已经有 10 来道 A+B 的题目了,相信这些题目曾经是大家的最爱,希望今天的这个 A+B 能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱。
这个题目的 A 和 B 不是简单的整数,而是两个时间, A 和 B 都是由 3 整数组成,分别表示时分秒,比如,假设 A 为 34 45 56 ,就表示 A 所表示的时间是 34 小时 45 分钟 56 秒。
输入格式
输入数据有多行组成,首先是一个整数 N ,表示测试实例的个数,然后是 N 行数据,每行有 6 个整数 AH,AM,AS,BH,BM,BS ,分别表示时间 A 和 B 所对应的时分秒。
题目保证所有的数据合法。
输出格式
对于每个测试实例,输出 A+B ,每个输出结果也是由时分秒 3 部分组成,同时也要满足时间的规则(即:分和秒的取值范围在 0∼59 ),每个输出占一行,并且所有的部分都可以用 32 位整数表示。
样例输入输出
样例输入
1
1 2 3 4 5 6
样例输出
5 7 9
来源/分类(难度系数:一星)
数组 每日一题
完整代码展示:
a=int(input())
b=[]
for i in range(a):
c=list(map(int,input().split()))
b.append(c)
d=0
while d<len(b):
sum=3600*(b[d][0]+b[d][3])+60*(b[d][1]+b[d][4])+(b[d][2]+b[d][5])
e=sum//3600
f=(sum-3600*e)//60
g=sum-3600*e-60*f
print(e,f,g)
d+=1
a=int(input())
b=[]
for i in range(a):c=list(map(int,input().split()))b.append(c)
d=0
while d<len(b):sum=3600*(b[d][0]+b[d][3])+60*(b[d][1]+b[d][4])+(b[d][2]+b[d][5])e=sum//3600f=(sum-3600*e)//60g=sum-3600*e-60*fprint(e,f,g)d+=1
代码解释:
“a=int(input() “,导入用户需处理的数据组数a。
“b=[]
for i in range(a):
c=list(map(int,input().split()))
b.append(c) ”,建立一个空列表b。循环a次:导入用户的一组数据(六个整数)。并将其储存在列表c中,接着将c添加进b中。
“d=0
while d<len(b):
sum=3600*(b[d][0]+b[d][3])+60*(b[d][1]+b[d][4])+(b[d][2]+b[d][5])
e=sum//3600
f=(sum-3600*e)//60
g=sum-3600*e-60*f
print(e,f,g)
d+=1 ”,令d为循环密码子,初始值为0。当d<len(b)时:奖b[d]中数据转换为秒数,接着再将秒数转换为合法时间,e为小时数,f为分钟数,g为秒钟数,打印e,f,g。每循环一次,d+1,直至d==len(b),跳出整个while循环。
运行效果展示:


(声明:以上内容均为原创)
相关文章:
python-比较月亮大小/数组下标/人见人爱a+b
一:比较月亮大小 题目描述 小理是一名出色的狼人。众所周知,狼人只有在满月之夜才会变成狼。 同时,月亮的大小随着时间变化,它的大小变化 3030 天为一循环。 它的变化情况(从第一天开始)为 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,13,12,1…...
什么是组态、组态的应用场景介绍
随着计算机技术和工业自动化水平迅速提高,而车间现场种类繁杂的控制设备和过程监控装置使得传统的工业控制软件无法满足用户的各种需求。在“组态”概念出现之前,工程技术人员需要通过编写程序来实现某一任务,不但工作量大、周期长࿰…...
Java项目: 基于SpringBoot+mybatis+maven实现的智能推荐卫生健康系统分前后台(含源码+数据库+开题报告+任务书+毕业论文)
一、项目简介 本项目是一套基于SpringBootmybatismaven实现的智能推荐卫生健康系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美…...
本地生活商城开发搭建 同城O2O线上线下推广
同城本地化商城目前如火如荼,不少朋友咨询本地生活同城平台怎么开发,今天商淘云与大家分享同城O2O线上商城的设计和开发。 本地生活商城一般会涉及到区域以及频道类,一般下单需要支持用户定位、商家定位,这样利于用户可以快速找到…...
41. 如何在MyBatis-Plus中实现批量操作?批量插入和更新的最佳实践是什么?
在 MyBatis-Plus 中,实现批量操作(如批量插入、批量更新)是非常常见的需求。MyBatis-Plus 提供了对批量操作的良好支持,可以通过多种方式实现高效的批量处理。下面详细介绍批量操作的实现方式以及最佳实践。 1. 批量插入 批量插入…...
LlamaIndex 的Node节点后处理器模块介绍
Node 后处理器模块 LlamaIndex 是一个旨在连接大型语言模型(LLMs)与外部数据的框架,允许开发者构建能够处理和回应复杂查询的应用程序。在这个框架内,NodePostProcessor 扮演着优化数据处理流程的重要角色。为了更好地理解 NodeP…...
Dubbo 如何使用 Zookeeper 作为注册中心:原理、优势与实现详解
Dubbo 是一个高性能的 Java 分布式服务框架,而 Zookeeper 常被用作 Dubbo 的服务注册中心。Zookeeper 提供了分布式一致性和协调服务,Dubbo 通过 Zookeeper 实现服务注册与发现功能,确保在分布式环境下服务实例的动态管理和可靠发现。 下面是…...
Linux:进程间通信之命名管道
Linux:进程间通信-CSDN博客 我们说匿名管道只能用于父子进程这样的关系通信,那么陌生进程怎么通信? 我们之前说父子进程能通信的最关键的地方就在于子进程复制了一份父进程的files_struct,从而通过文件的inode映射同一份文件来通…...
UE4_后期处理七—仿红外线成像效果
效果图展示: 参考文档:https://dev.epicgames.com/documentation/zh-cn/unreal-engine/using-fresnel-in-your-unreal-engine-materials?application_version5.4 二、所用知识点扩充 在创建电影或过场动画时,你常常需要想办法更好地突显角…...
静态路由和默认路由(实验)
目录 一、实验设备和环境 1、实验设备 2、实验环境 (1)实验拓扑图 (2)实验命令列表 二、实验记录 1、直连路由与路由表查看 步骤1:建立物理连接并运行超级终端。 步骤2:在路由器上查看路由表。 2、静态路由配置 步骤1:配…...
TCP: Textual-based Class-aware Prompt tuning for Visual-Language Model
文章汇总 存在的问题 原文:具有图像特定知识的图像条件提示符号在提升类嵌入分布方面的能力较差。 个人理解:单纯把"a photo of {class}"这种提示模版作为输入是不利于text encoder学习的 动机 在可学习的提示和每一类的文本知识之间建立…...
2024年软考网络工程师中级题库
1【考生回忆版】以下不属于5G网络优点的是(A) A.传输过程中消耗的资源少,对设备的电池更友好 B.支持大规模物联网,能够连接大量低功耗设备,提供更高效的管理 C.引入了网络切片技术,允许将物理网络划分为多个虚拟网络…...
CSS的盒子模型(Box Model)
所有HTML元素都可以看作盒子,在CSS中盒子模型是用来设计和布局的,CSS盒子模型本质上是一个盒子,分装周围的HTML元素包括:外边距,边框,内边距和实际内容。 Margin(外边距) 清除边框…...
用OpenSSL搭建PKI证书体系
1 创建PKI结构目录 mkdir 07_PKI cd 07_PKI mkdir 01_RootCA 02_SubCA 03_Client2 创建根CA cd 01_RootCA mkdir key csr cert newcerts touch index.txt index.txt.attr echo 01 > serial2.1 创建根CA密钥对 2.1.1 生成 长度为2048 bit 的RSA私钥。 cd key openssl gen…...
scp 命令:在两台主机间远程传输文件
一、命令简介 scp 命令使用 SSH 加密的方式在本地主机和远程主机之间复制文件。 二、命令参数 格式 scp [选项] 发送方主机和目录 接收方主机和目录注意:左边是发送方,右边是接收方。固定格式。 示例 #示例1 scp ~/test.txt soulio172.1…...
家用迷你洗衣机哪款质量高?五大热销高分单品强势来袭
迷你内衣洗衣机一般是为婴儿宝宝,或者一些有特殊需要的用户而设计使用的,宝宝衣物换洗频繁,而且对卫生方面的除菌要求高,而为避免交叉感染,所以一般不适合和大人的衣物放在一起洗,因此对于有宝宝的家庭来说…...
rpm 命令:RedHat底层包管理器
一、命令简介 rpm 是 Red Hat Package Manager 的缩写,是 Red Hat、CentOS、Fedora 等基于 Red Hat 的 Linux 发行版中用于管理和安装软件包的工具。它能够安装、卸载、升级、查询和验证软件包。 相关命令: rpm 是基础,提供了底层的软…...
Xilinx 使用DDS实现本振混频上下变频
文章目录 一、什么是混频?二、为什么要进行混频?三、Matlab实现混频操作四、FPGA实现混频上下变频操作4.1 例化IP4.2 仿真验证 一、什么是混频? 混频(Mixing)是信号处理中的一个核心概念,混频的本质是将两个…...
ClickHouse-Kafka Engine 正确的使用方式
Kafka 是大数据领域非常流行的一款分布式消息中间件,是实时计算中必不可少的一环,同时一款 OLAP 系统能否对接 Kafka 也算是考量是否具备流批一体的衡量指标之一。ClickHouse 的 Kafka 表引擎能够直接与 Kafka 系统对接,进而订阅 Kafka 中的 …...
PTA L1-071 前世档案
L1-071 前世档案(20分) 网络世界中时常会遇到这类滑稽的算命小程序,实现原理很简单,随便设计几个问题,根据玩家对每个问题的回答选择一条判断树中的路径(如下图所示),结论就是路径终…...
python-flask-djangol框架的校园餐厅菜品自选系统
目录 技术选型核心功能模块数据库设计开发流程部署方案关键代码示例测试重点 项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作 技术选型 使用Python的Flask或Django框架作为后端基础。Flask适合轻量级快速开发,Djan…...
Matlab实战:5步搞定微电网源储荷协调调度(附完整CPLEX调用代码)
Matlab实战:微电网源储荷协调调度的5个工程化技巧 微电网调度是新能源时代的核心技术难题之一。面对风光发电的波动性和负荷需求的多变性,如何实现源、储、荷三者的动态平衡,成为电力工程师们每天都要应对的挑战。不同于学术论文中复杂的理论…...
别再手动折腾了!用Docker一键部署Oracle 11g开发环境(附阿里云镜像地址)
告别繁琐配置:Docker容器化Oracle 11g开发环境实战指南 每当新项目需要搭建Oracle开发环境时,开发者们总会面临相同的困境——数小时的安装配置、复杂的系统依赖、难以复现的环境问题。传统安装方式不仅消耗宝贵时间,更可能因系统差异导致团…...
3步释放华硕笔记本潜能:G-Helper轻量化控制工具的极致优化指南
3步释放华硕笔记本潜能:G-Helper轻量化控制工具的极致优化指南 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models …...
通用多模态检索——大模型微调
1、7B的模型,参数量就占到了16G,而且你要检索,要把所有的候选项candidate全部变成向量嵌入,然后计算相似度,3090的24G显存很容易爆,而且数据量一旦大了一点,达到几万,基本就很难跑通…...
OpenClaw知识库集成:Qwen3-VL:30B连接飞书文档中心
OpenClaw知识库集成:Qwen3-VL:30B连接飞书文档中心 1. 为什么需要智能文档助手 上个月整理季度技术文档时,我对着飞书里上百个分散的文档链接发愁——每次找资料都要在搜索框反复尝试关键词,遇到表格和图表更要逐页核对。直到发现OpenClaw能…...
AI短剧的风口来了!无需编程,全程技术支持,助你快速贴牌部署私有化系统
🔥 AI短剧爆火,但你还在因为“没有技术团队”而错失风口? 2024-2025年,AI短剧无疑是内容创业最大的黑马。从AI换脸、AI配音到一键生成剧本,市场的需求呈指数级爆发。 然而,对于大多数手握流量渠道、有客户…...
提升钱包开发效率:用快马AI一键生成imToken风格的高复用UI组件
提升钱包开发效率:用快马AI一键生成imToken风格的高复用UI组件 开发钱包类应用时,最让人头疼的就是那些重复性的UI组件和交互逻辑。每次新项目都要从零开始写资产卡片、交易记录列表、二维码弹窗这些基础组件,不仅耗时耗力,还容易…...
基于ANPC型三电平逆变器的VSG并网及参数自适应控制
ANPC虚拟同步机(VSG)并网(参数自适应控制),基于ANPC型三电平逆变器的参数自适应控制,采用电压电流双闭环控制,中点电位平衡控制,且实现VSG并网。 1.VSG参数自适应 2.VSG并网 3.提供相…...
ThinkPad装Win10企业版后,手把手教你用PowerShell搞定Lenovo Vantage(附依赖包下载)
ThinkPad安装Win10企业版后手动部署Lenovo Vantage的完整指南 当你在ThinkPad上安装了纯净的Windows 10企业版系统后,可能会发现无法通过常规方式安装Lenovo Vantage这款官方管理工具。本文将详细介绍如何通过PowerShell命令手动安装Lenovo Vantage及其所有必需的依…...
