Skip to main content
 首页 » 编程设计

python之严格增加列表中相邻元素之间的差异

2025年05月04日14JustinYoung

编写一个函数 expanding(l),将整数 l 的列表作为输入,如果每对相邻元素之间的绝对差严格增加,则返回 True。

我尝试执行这段代码,但它没有为某些列表返回正确的值。

def expanding(l): 
 for i in range(0,len(l)-3): 
  if (abs(l[i+2]-l[i+1])>abs(l[i+1]-l[i])): 
   Answer=True 
  else: 
   Answer=False 
 return Answer 

expanding([1,3,7,2,-3]) 应该是 False 但输出是 True。

请您参考如下方法:

使用一个临时变量来存储差异,一旦达到非递增差异就退出。

def expanding(l): 
 
    dif = abs(l[1] - l[0]) 
 
    for i in range(1, len(l)-1): 
        temp = abs(l[i+1] - l[i]) 
 
        # Non-increasing difference, return 
        if temp < dif: 
            return False 
        else: 
            dif = temp 
 
    # All differences are increasing 
    return True