写回归函数

时间:2015-09-20 15:23:22

标签: python return

这是我的代码:

def issorted(numlist):
    sortbool = True
    for i in range(1, len(numlist)):
        if numlist[i] < numlist[i-1]:
            sortbool = False
            if True:
              return(not sortbool)
    return(sortbool)

如何至少再提交一份退货声明?这样,当检测到本地违反排序顺序要求时,它可以过早地中止该功能。

给出的输出示例是:

>>> print(issorted([3, 4, 5.0, 7]))
True
>>> print(issorted([-1, 8, -3, 8]))
False
>>> print(issorted([1]))
True
>>> print(issorted([]))
True

1 个答案:

答案 0 :(得分:1)

只需返回一个常数;这里不需要变量,你彻底搞砸了。你的代码:

if numlist[i] < numlist[i-1]:
    sortbool = False
    if True:
        return(not sortbool)

始终返回True,因为您将sortbool设置为False,但返回not sortbool(所以不是False,即{{1} } {},True值为true,总是

一旦在列表中找到值小于前一个值的位置,您的代码应返回True,否则返回False;只需将这些值硬编码为文字:

True

请注意,我在那里拉了一个小技巧;我使用额外的变量来跟踪先前的值而不是生成索引。