热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

打印大于其左邻居的所有整数

如何解决《打印大于其左邻居的所有整数》经验,为你挑选了1个好方法。

(使用python 3)这是我给出的任务:

给定一个数字列表,查找并打印所有大于其左边邻居的元素.

示例输入

1 5 2 4 3

示例输出

5 4

这是我的代码:

# creates a list out of the input given as '# # # # # #...'
a = [int(s) for s in input().split()]

for i in a[1:]:               #skips the first since it has no "left neighbor"
   if i > a[a.index(i) - 1]:  #checks if 'i' is greater than element before 'i'
      print(i, end=' ')

我的问题是它适用于我所做的所有测试,除非我给它一个列表a[0] == a[-1]然后它忽略列表中等于该整数的所有元素.

例如:

3 5 2 3 1 2 3 1 3
--> 5    

我一直很难找到这个bug!如果这个问题没有得到很好的解决,请原谅.我是第一次在stackoverflow上问一个问题.



1> Mushif Ali N..:

试试这个:

for i in range(1, len(a)):
    if a[i] > a[i-1]:
        print(a[i], end=' ')

结果:

3 5 2 3 1 2 3 1 3
--> 5 3 2 3 3


for循环从i = 1开始,所以应该没问题.
推荐阅读
author-avatar
mobiledu2502869077
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有