为什么在Python中将“ None”显示为我的函数的输出?

时间:2019-08-14 13:00:53

标签: python python-3.x

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

def accordian(l):

    for i in range(len(l)):
     diff = []
     for i in range(len(diff)):

             diff = l[i] - l[i+1]
             if diff[i] < diff[i+1]:
                     return True
             else:
                     return False

print(accordian([1,3,7,2,9]))

输出:“无”

2 个答案:

答案 0 :(得分:1)

您的代码无法正常运行,因为内部循环永远不会运行,因为diff的长度为0,但是0的范围无法继续进行,如果您添加一个值diff,因为我不完全了解您想要做什么,所以我无法提供代码。

答案 1 :(得分:0)

您可以尝试:

def accordian(data):
    diff = []
    for index, value in enumerate(data):
        if index == 0:
            continue
        diff.append(data[index] - data[index - 1])

    flag = True
    for index, single_element in enumerate(diff):
        if index == 0:
            continue
        if diff[index] <= diff[index - 1]:
            flag = False
            break
    return flag


print(accordian([1, 3, 7, 2, 9]))
print(accordian([1, 3, 7, 13, 21]))
print(accordian([1, 3, 5, 7, 9]))

输出:

False
True
False