当前位置: 首页 > news >正文

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,如果是:则按判断顺序判断月亮是在变大或变小并打印结果。


运行效果展示:

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//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循环。


运行效果展示:

14f0e687a6a64c938c2befdc9a3f2904.jpg

 f5af8508b1ea424e8befbda7c00fc934.jpg

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

 

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • RK3568笔记六十一:MIPI摄像头应用程序编写
  • 使用 Flask-Limiter 和 Nginx 实现接口访问次数限制
  • 网站建设中常见的网站后台开发语言有哪几种,各自优缺点都是什么?
  • SYN Flood攻击原理,SYN Cookie算法
  • 货车都配一键启动无钥匙进入了用起来真的很方便
  • thinkphp8 从入门到放弃(后面会完善用到哪里写到哪)
  • python标识符和关键字
  • 【病毒分析】新兴TOP2勒索软件!存在中国受害者的BianLian勒索软件解密原理剖析
  • Python精选200Tips:166-170
  • 如何确定SAP 某些凭证或者单号的号码编码范围的 OBJECT 是什么?
  • Selenium与数据库结合:数据爬取与存储的技术实践
  • UE学习篇ContentExample解读------Blueprint_Communication-上
  • Leecode刷题之路从今天开始
  • 吸尘器制造5G智能工厂物联数字孪生平台,推进制造业数字化转型
  • 经验——CLion通过SSH远程开发__imx6ull的linux开发
  • [Vue CLI 3] 配置解析之 css.extract
  • centos安装java运行环境jdk+tomcat
  • css布局,左右固定中间自适应实现
  • ES6语法详解(一)
  • Git学习与使用心得(1)—— 初始化
  • HTTP中GET与POST的区别 99%的错误认识
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • Spark学习笔记之相关记录
  • 大主子表关联的性能优化方法
  • 技术胖1-4季视频复习— (看视频笔记)
  • 判断客户端类型,Android,iOS,PC
  • 前嗅ForeSpider采集配置界面介绍
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 自制字幕遮挡器
  • 从如何停掉 Promise 链说起
  • ​【数据结构与算法】冒泡排序:简单易懂的排序算法解析
  • ‌‌雅诗兰黛、‌‌兰蔻等美妆大品牌的营销策略是什么?
  • "无招胜有招"nbsp;史上最全的互…
  • # dbt source dbt source freshness命令详解
  • #include到底该写在哪
  • (06)Hive——正则表达式
  • (2)Java 简介
  • (7)svelte 教程: Props(属性)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (二十三)Flask之高频面试点
  • (附源码)php新闻发布平台 毕业设计 141646
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (十六)Flask之蓝图
  • (十三)Maven插件解析运行机制
  • (一一四)第九章编程练习
  • (转)IOS中获取各种文件的目录路径的方法
  • (转)菜鸟学数据库(三)——存储过程
  • (转)人的集合论——移山之道
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • .bat批处理(一):@echo off
  • .NET IoC 容器(三)Autofac
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题