【发布时间】:2020-03-28 08:50:57
【问题描述】:
我试图编写一个函数,它循环遍历列表中的项目,如果项目大于列表中的前一个项目,则返回 True,否则返回 False,但它似乎无法正常工作。谁能指出我的错误。
def inc_fun(x):
for i in range(len(x)):
for xi in x:
if x[i] > x[i-1]:
return True
else:
return False
inc_fun([1,2,3,7,9])
返回:假
这应该是真的,如果我运行:
inc_fun([1,5,3,2,9])
这也返回 false。
感谢您的帮助:)
【问题讨论】:
-
哪一项比列表中的前一项大?您将返回第一次检查,因此函数退出。不会有比第一个更多的检查了。此外,您在列表中进行了不必要的迭代两次。第二个 for 循环是多余的,你永远不会对
xi变量做任何事情。 -
所以基本上你想检查数字是否按从小到大的顺序排列?
-
第一个
xi将返回True或False。不会评估xi的其他值。
标签: python