这是我的代码:
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
答案 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
请注意,我在那里拉了一个小技巧;我使用额外的变量来跟踪先前的值而不是生成索引。