RT,要写一个比大小的方法,需要是递归思维的,也就是需要自己调用自己
将列表中当前位置的元素和下一个位置的元素进行比大小
举个栗子
假设列表是[1,2,3,4,5,6,7,8,9]
那么比大小后的结果是返回一个元组(1,9)
什么和什么比较大小?为什么返回1,9,你的列表本身是有序的么?你的问题不明确。
任何有循环的代码,都可以机械地修改为递归的版本,这不需要什么递归思维。
你可以把你的问题说清楚,或者给出不用递归的程序,我都可以给你递归的版本。
"""
Created on 2019/3/1 16:41
@File:t4.py
@author: coderwangson
"""
"#codeing=utf-8"
def min_max(l):
if len(l)==2:
min = l[0] if l[0]<l[1] else l[1]
max = l[0] if l[0]>l[1] else l[1]
return min,max
else:
min_tmp,max_tmp = min_max(l[1:])
min = l[0] if l[0]<min_tmp else min_tmp
max = l[0] if l[0]>max_tmp else max_tmp
return min,max
print(min_max([4,5,2,124,1,-1]))
没有详细测试,可能有问题