Skip to main content
 首页 » 编程设计

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

2025年05月04日9artech

(使用 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     

我一直很难找到错误!如果这个问题没有很好地呈现,请原谅。这是我第一次问关于 stackoverflow 的问题。

请您参考如下方法:

试试这个:

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