看不懂这段代码在干什么,求解[face]emoji:029.png[/face]

你这个是查找给定序列的最长递增子序列的吧,如果number大于end-start,返回空;否则先进行range(start,end)举个例子
range(1,10):指定start=1,end=10,默认step=1,生成可迭代对象,包含[1, 2, 3, 4, 5, 6, 7, 8, 9]
然后
返回sample(range(start,end),number)
sample(序列a,n)
功能:从序列a中随机抽取n个元素,并将n个元素以list形式返回。
def subAscendingList(lst):
'''返回最长递增子序列'''
for length in range(len(lst), 0, -1):
#按长度递减的顺序进行查找和判断
for sub in combinations(lst, length):
#判断当前选择的子序列是否为递增顺序
if list(sub) == sorted(sub):
#找到第一个就返回
return sub
def getList(start=0, end=1000, number=20):
'''生成随机序列'''
if number > end-start:
return None
return sample(range(start, end), number)