在 python 中递归查找具有最大值的元素
Find element with maximum value recursively in python
我会写一个递归函数,它将数字列表作为参数,return 列表的最大元素。我不想使用 max()
函数。
a = [2,1,3,5]
def f(a, m=0):
if m<a[0]:
m = a[0]
if len(a) == 1:
return m
else:
f(a[1:])
print(f(a))
但它 return 是 None
!我该如何解决?
您应该在 else
语句中定义 m
并在其中添加一个 return
:
a = [2,1,3,5]
def f(a, m=0):
if m<a[0]:
m = a[0]
if len(a) == 1:
return m
else:
m = f(a[1:], m)
return m
print(f(a))
我会写一个递归函数,它将数字列表作为参数,return 列表的最大元素。我不想使用 max()
函数。
a = [2,1,3,5]
def f(a, m=0):
if m<a[0]:
m = a[0]
if len(a) == 1:
return m
else:
f(a[1:])
print(f(a))
但它 return 是 None
!我该如何解决?
您应该在 else
语句中定义 m
并在其中添加一个 return
:
a = [2,1,3,5]
def f(a, m=0):
if m<a[0]:
m = a[0]
if len(a) == 1:
return m
else:
m = f(a[1:], m)
return m
print(f(a))