def findMinAndMax(L):
if len(L) == 0:
return None,None
if len(L) == 1:
return L[0],L[0]
L1 = []
L2 = []
s = range(len(L))
for x in L:
for i in s:
if x < L[i]:
L1.append(x)
if x > L[i]:
L2.append(x)
return tuple(set(L1) ^ set(L2))
3.递归,这个琢磨了很久,不知道理解的对不对,希望老师能再多举点递归的例子
def findMinAndMax(L):
if len(L) == 0:
result = None,None
elif len(L) == 1:
result = L[0],L[0]
# 边界条件
elif len(L) == 2:
if L[0] < L[1]:
result = L[0], L[1]
else:
result = L[1], L[0]
else:
# 每次递归都会用L[0]和minimum,maximum进行比较得出一个result
minimun, maximum = findMinAndMax(L[1:])
print(minimun,maximum)
if minimun > L[0]:
result = L[0],maximum
elif maximum < L[0]:
result = minimun,L[0]
else:
result = minimun,maximum
return result
s=[5,3,8,4,7]
print(findMinAndMax(s))
Mr_RightMen
1.内置的min和max
2.for循环的一种
3.递归,这个琢磨了很久,不知道理解的对不对,希望老师能再多举点递归的例子
个人理解,不知道对不对