python2.编写函数,该函数可以接收任意多个整数并用字典输出最大值、最小值、平均值和所有整数之和,对应的关键字为 max、min、avg、sum。 3.输入一个字符串,分别采用非递归和递归方式将其反向输出。
时间: 2024-12-12 14:23:04 浏览: 8
在Python中,你可以创建一个函数`analyze_numbers`来处理一串整数,同时使用另一个函数`reverse_string`分别处理非递归和递归反转字符串。以下是这两个函数的实现:
```python
def analyze_numbers(*args):
"""
函数接收任意数量的整数,返回一个字典包含最大值、最小值、平均值和总和。
:param args: 可变长度的整数列表
:return: 包含结果的字典
"""
if not args:
return {"max": None, "min": None, "avg": None, "sum": None}
max_val = max(args)
min_val = min(args)
avg_val = sum(args) / len(args)
total_sum = sum(args)
result = {
"max": max_val,
"min": min_val,
"avg": avg_val,
"sum": total_sum
}
return result
# 非递归反转字符串
def non_recursive_reverse(s):
"""
非递归地将输入字符串反转。
:param s: 输入字符串
:return: 反转后的字符串
"""
return s[::-1]
# 递归反转字符串
def recursive_reverse(s, index=0):
"""
递归地将输入字符串反转。
:param s: 输入字符串
:param index: 当前反转位置的索引
:return: 反转后的字符串
"""
if index == len(s) - 1:
return s[index]
else:
return recursive_reverse(s, index + 1) + s[index]
# 示例
numbers = [1, 5, 3, 9, 2]
result_dict = analyze_numbers(*numbers)
print(result_dict)
input_str = "Hello, World!"
non_rec_result = non_recursive_reverse(input_str)
rec_result = recursive_reverse(input_str)
print(f"非递归反转字符串: {non_rec_result}")
print(f"递归反转字符串: {rec_result}")
阅读全文