我已经尝试了sorted,value_sort,all(a,b ... zip)等,但我的函数检查列表是否已排序,“is_solved”将无效。该功能应检查大理石列表是否按升序排序。我已经评论过我试过的其他方法,但没有奏效。非常感激任何的帮助。
def is_solved(self, list_of_marbles, i):
#returns true if the game is solved
if self.list_of_marbles[i] < self.list_of_marbles[i+1]:
#all(self.list_of_marbles[i] <= self.list_of_marbles[i+1] for i
#in range(len(self.list_of_marbles)-1))
#if self.is_solved(board2, i) == True:
#if self.list_of_marbles[i] < self.list_of_marbles[i+1]:
return True
else:
return False
def check(list):
if (list == sorted(list)):
return True
else:
return False
li = [1,2,3,4,5]
check(li)
如果list == sorted(list)
表示输入的列表已经排序
def Sort(x):
L=sorted(x)
if x==L:
return x
else:
i=0
for i in range (len(x)):
if x[i] > x[i+1] :
break
unsortedPart = x[i:]
R = RecursiveMin(unsortedPart)
I = unsortedPart.index(R)
for j in range (len(x)):
if x[j] > R :
del x[(I+i)]
x.insert(j,R)
break
return Sort(x)
这是使用递归按升序对python中的列表进行排序的代码。但是,如果您要查找的是对于正在排序的列表的真/假答案,则不一定要求您。
def checkSorted(list):
L = sorted(list)
if list == L:
return True
else:
return False