(1)编写递归函数求一列实数构成的列表的最大值; (2)编写递归函数将一个列表逆序排列。
时间: 2024-11-12 08:36:45 浏览: 5
(1)编写递归函数求一列实数构成的列表的最大值:
```python
def find_max(lst):
# 基线条件:如果列表为空或只有一个元素,直接返回这个元素就是最大值
if len(lst) <= 1:
return lst[0] if lst else None
# 递归条件:列表中有两个或更多元素,比较第一个元素和剩余元素的最大值
else:
max_value = lst[0]
remaining_max = find_max(lst[1:]) # 调用自身处理剩余部分
return max(max_value, remaining_max)
# 示例:
numbers = [3, 5, 1, 9, 7]
max_number = find_max(numbers)
print("列表的最大值是:", max_number)
```
(2)编写递归函数将一个列表逆序排列:
```python
def reverse_list(lst):
# 基线条件:如果列表只有一个元素或者为空,它已经是最简单的逆序形式
if len(lst) <= 1:
return lst
# 递归条件:列表有多个元素,将最后一个元素添加到逆序后的剩余部分的前面
else:
last_element = lst.pop() # 取出并移除最后一个元素
reversed_tail = reverse_list(lst) # 对剩余部分进行递归
return [last_element] + reversed_tail
# 示例:
input_list = [1, 2, 3, 4, 5]
reversed_list = reverse_list(input_list)
print("逆序后的列表是:", reversed_list)
```
阅读全文