python 用recursion 同时找到一个list里面的max and min
一个list里面全是int,要用recursion同时找到maxandmin不可以用sort()max()min()print()我自己写的是:defsum_of_min...
一个list里面全是int, 要用recursion 同时找到max and min 不可以用sort() max() min() print()
我自己写的是:
def sum_of_min_max(sum):
if len(sum) == 1:
return (sum[0],sum[0])
elif len(sum) == 2:
return (sum[0],sum[1])
else:
maximum, minimum = sum_of_min_max(sum[1:])
if maximum > sum[0]:
if minimum < sum[0]:
return (maximum,minimum)
else:
return (maximum, sum[0])
elif sum[0] > maximum:
if minimum < sum[0]:
return (sum[0],minimum)
else:
return (sum[0], sum[0])
我的function 如果叫他return sum_of_max_min([1,2,3]) 它return出来的是 [2,1] 谁能帮忙修改一下。。。 感谢。。。。 展开
我自己写的是:
def sum_of_min_max(sum):
if len(sum) == 1:
return (sum[0],sum[0])
elif len(sum) == 2:
return (sum[0],sum[1])
else:
maximum, minimum = sum_of_min_max(sum[1:])
if maximum > sum[0]:
if minimum < sum[0]:
return (maximum,minimum)
else:
return (maximum, sum[0])
elif sum[0] > maximum:
if minimum < sum[0]:
return (sum[0],minimum)
else:
return (sum[0], sum[0])
我的function 如果叫他return sum_of_max_min([1,2,3]) 它return出来的是 [2,1] 谁能帮忙修改一下。。。 感谢。。。。 展开
1个回答
展开全部
len为2的时候你应该判断一下
def sum_of_min_max(sum):
if len(sum) == 1:
return (sum[0],sum[0])
elif len(sum) == 2:
if sum[0] > sum[1]:
return (sum[0],sum[1])
return (sum[1],sum[0])
else:
maximum, minimum = sum_of_min_max(sum[1:])
if maximum > sum[0]:
if minimum < sum[0]:
return (maximum,minimum)
else:
return (maximum, sum[0])
elif sum[0] > maximum:
if minimum < sum[0]:
return (sum[0],minimum)
else:
return (sum[0], sum[0])
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询