我被要求检查列表是否使用函数排序,但在不使用输入函数的情况下,我在函数中定义参数(lst(时遇到了问题。它说lst是未定义的,但我不知道如何在不使用输入函数的情况下更改它
def is_sorted(lst):
lst = []
flag = 0
lst1 = lst[:]
lst1.sort()
if (lst1 == lst):
flag = 1
if (flag) :
return "True"
else:
return "False"
print (is_sorted(lst))
错误是没有定义第一个
在第一次调用lst
时(在print (is_sorted(lst))
行(,实际上并没有给lst
一个值。在打印((之前,您需要一个lst = [1,2,3]
(或其他什么(。
但是,您可能对该功能考虑过多。我添加了一个使用Python的sorted
函数作为比较器的简化版本。
def is_sorted(lst):
if (lst == sorted(lst)) or (lst == sorted(lst, reverse = True)):
return "True"
else:
return "False"
lst = [3,1,2]
print (is_sorted(lst))
lst = [1,2,3]
print (is_sorted(lst))
lst = [3,2,1]
print (is_sorted(lst))
输出:
False
True
True
为了理解错误,必须理解函数的参数和自变量之间的区别。
有用材料:
Python词汇表:参数,自变量
Python常见问题解答:参数和参数之间有什么区别