python-比较月亮大小/数组下标/人见人爱a+b

news2024/9/27 5:41:17

一:比较月亮大小
题目描述

小理是一名出色的狼人。众所周知,狼人只有在满月之夜才会变成狼。
同时,月亮的大小随着时间变化,它的大小变化 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,如果是:则按判断顺序判断月亮是在变大或变小并打印结果。


运行效果展示:

e602fbbcac494fcda9d905c2904311df.jpg

c1e2a49bd717411da0cb92d5ff07887f.jpg 

 

 

 

二:数组下标
题目描述

给出一个数列 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],以空格结尾。


运行效果展示:

67b75664c7004bc29e4c20e4cb94a0bd.jpg

 67cdac2de7f14bcf9da6dd78f5b87cbb.jpg

 

 

 

三:人见人爱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//3600
    f=(sum-3600*e)//60
    g=sum-3600*e-60*f
    print(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循环。


运行效果展示:

14f0e687a6a64c938c2befdc9a3f2904.jpg

 f5af8508b1ea424e8befbda7c00fc934.jpg

               (声明:以上内容均为原创)

 

 

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

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

相关文章

Python提供内置正则表达式库

正则表达式是一种强大的文本处理工具&#xff0c;可以匹配文本片段的模式 最简单的正则表达式就是普通的字符串&#xff0c;可以匹配自身 要注意的是&#xff0c;正则表达式并不是一个程序&#xff0c;它使用一种特定的语法模式来描述在搜索文本时要匹配的一个或多个字符串。正…

UE5 C++: 插件编写05 | 批量删除无用资产

删除无用的asset 已经在地图中使用的asset会有asset reference EditorAssetLibrary&#xff08;按F12&#xff09;open header file&#xff0c;会有如下一个功能&#xff0c;可以找asset reference&#xff0c;返回bool值 UFUNCTION(BlueprintCallable, Category "Edi…

wpf在图上画矩形,矩形可拖动、大小可调节,使用装饰器Adorner调整矩形大小,限制拖动和调节范围

效果 功能 使用wpf实现 在图片上画一个矩形框该矩形框可以调节大小该矩形框可以拖动调整位置 注&#xff1a;这里的鼠标事件是&#xff0c;双击在图上画一个固定大小的矩形框&#xff0c;右键按住拖动矩形框。有需要的可以自行调整对应的鼠标事件 参考资料&#xff1a;https…

心理测试小程序开发心理健康MBTI人格测试,小程序源码部署支持多种流量主

简介 在当今这个高速运转的社会里&#xff0c;个人内心性格与心理健康日益成为人们关注的焦点。随着科技的日新月异&#xff0c;心理评估的方式正经历着深刻的变革&#xff0c;从传统的面对面咨询室中解放出来&#xff0c;无缝融入了我们日常使用的移动设备之中。这一趋势极大…

【网络安全】网络基础第一阶段——第四节:网络协议基础---- VRRP与网络架构设计

目录 一、VRRP 1.1 VRRP使用场景及简介 1.2 VRRP基本原理 1.2.1 VRRP基本结构 1.2.2 设备类型 1.2.3 VRRP工作原理 1.3 VRRP的基本配置 1.3.1 基于三层交换机的VRRP组配置 1.3.2 SMTPVRRP经典组网 1.4 端口聚合 1.4.1 端口聚合技术 1.4.2 聚合模式 1.4.3 Eth-trun…

Python项目Flask框架整合Redis

一、在配置文件中创建Redis连接信息 二、 实现Redis配置类 import redis from config.config import REDIS_HOST, REDIS_PORT, REDIS_PASSWD, REDIS_DB, EXPIRE_TIMEclass RedisDb():def __init__(self, REDIS_HOST, REDIS_PORT, REDIS_DB, EXPIRE_TIME, REDIS_PASSWD):# 建立…

【笔记】KaiOS 系统框架和应用结构(APP界面逻辑)

KaiOS系统框架 最早自下而上分成Gonk-Gecko-Gaia层,代码有同名的目录,现在已经不用这种称呼。 按照官网3.0的版本迭代介绍,2.5->3.0已经将系统更新成如下部分: 仅分为上层web应用和底层平台核心,通过WebAPIs连接上下层,这也是kaios系统升级变更较大的部分。 KaiOS P…

Spring Boot 点餐系统:您的餐饮技术伙伴

摘 要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff1b;对于网上点餐系统当然也不能排除在外&#xff0c;随着网络技术的不断成熟&#xff0c;带动了网上点餐系统&#xff0c;它彻底改变了过去传统的…

Spring不能处理的循环依赖

文章目录 场景一&#xff1a;prototype 类型的循环依赖场景二&#xff1a; constructor 注入的循环依赖场景三&#xff1a;普通的 AOP 代理 Bean 的循环依赖–默认是可以的场景四&#xff1a;Async 增强的 Bean 的循环依赖总结 参考&#xff1a;https://blog.csdn.net/wang4896…

Redis系列补充:聊聊布隆过滤器(go语言实践篇)

1 介绍 布隆过滤器&#xff08;Bloom Filter&#xff09;是 Redis 4.0 版本之后提供的新功能&#xff0c;我们一般将它当做插件加载到 Redis Service服务器中&#xff0c;给 Redis 提供强大的滤重功能。 它是一种概率性数据结构&#xff0c;可用于判断一个元素是否存在于一个集…

Elasticsearch导出导入数据

1.概念回顾 2.基础操作 展示详细信息 GET&#xff1a;http://127.0.0.1:9200/_cat/indices?v Java代码将文件导入到ES package com.Graph.medicalgraph;import org.apache.http.HttpHost; import org.elasticsearch.action.bulk.BulkRequest; import org.elasticsearch.act…

Java中的位图和布隆过滤器(如果想知道Java中有关位图和布隆过滤器的知识点,那么只看这一篇就足够了!)

前言&#xff1a;在学习之前的数据结构的时候&#xff0c;我们使用的数据量都不是很大&#xff0c;但是在生活中&#xff0c;我们常常面临着要处理大量数据结果并得出最终结果&#xff0c;那么有没有什么数据结构可以帮助我们实现这样的功能呢&#xff1f; ✨✨✨这里是秋刀鱼不…

Circular dependency between the following tasks(gradle循环依赖的问题)

简介 目前公司项目主要使用gradle而不是maven&#xff0c;所以对gradle的使用不是很清楚&#xff0c;遇到这个问题的时候一直在晚上查资料&#xff0c;但是解决方案基本都是安卓的&#xff0c;后续先前辈请教了一下&#xff0c;才找到解决方案。 问题解析 本质上就是两个模块…

【QT 5 调试软件+Linux下调用脚本shell-无法调度+目录拼写+无法找目录+sudo权限(2)+问题解决方式+后续补充】

【QT 5 调试软件Linux下调用脚本shell-无法调度目录拼写无法找目录sudo权限&#xff08;2&#xff09;问题解决方式后续补充】 1、前言2、问题综述&#xff1a;自研qt上位机无法调度脚本&#xff08;1&#xff09;可能原因1&#xff1a;无法找到目录情况说明&#xff1a;解决思…

程序人生:软件测试 非技术性面试题【建议每个测试人观看】

1、自我介绍&#xff1a;三分钟左右 2、为什么从郑州/太原离职&#xff1f; 3、你的职业规划是什么样的&#xff1f; 4、对下一家公司有什么自己的想法吗&#xff1f; 5、你觉得作为一名测试工程师&#xff0c;应该具备什么样的素养&#xff1f; 6、你觉得管理层&#xff…

HTML | 外部引入 CSS 的2种方式:link和@import有什么区别?

外部引入 CSS 有2种方式&#xff0c;link 和 import。就结论而言&#xff0c;强烈建议使用 link &#xff0c;慎用 import 方式。 两者都是外部引用 CSS 的方式&#xff0c;但是存在一定的区别&#xff1a; &#xff08;1&#xff09;从属关系区别 link是HTML / XHTML标签&a…

react crash course 2024(3) jsx语法及组件

创建组件的文件结构 rafce创建组件内容 const NavBar () > {return (<div>NavBar</div>) }export default NavBar 使用该组件 组件传值 或者把props解构 设置默认值 5.用自定义组件包裹一些元素 把他们传值 元素直接变成了参数被传进来

求推荐网站建设公司?2024网站建设公司哪家好TOP3

好的网站建设公司在这个信息时代寻找起来会比较困难&#xff0c;因为你在任何一个搜索引擎搜索“网站建设”这个关键词&#xff0c;平台会给你推送成千上万家的建站公司&#xff0c;让人看得眼花缭乱&#xff0c;但究竟哪个更好&#xff0c;让人捉摸不透。 前段时间&#xff0…

多城联动、多形式开展网安周公益活动,开源网安传播网络安全知识

9月9日至15日&#xff0c;以“网络安全为人民&#xff0c;网络安全靠人民”为主题的2024年国家网络安全宣传周将在全国范围内统一开展&#xff0c;通过多样的形式、丰富的内容&#xff0c;助力全社会网络安全意识和防护技能提升。开源网安今年继续为各地企业、群众带来了丰富的…

Qt QFileDialog使用方法

头文件 #include <QFileDialog> 成员名称返回值说明getExistingDirectoryQString返回用户选中的文件夹路径getExistingDirectoryUrlQUrl与QFileDialog::getExistingDirectory()的主要区别来自于为用户提供的选择远程目录的能力getOpenFileNameQString返回用户选中的文件…