实现一个Python函数 输入一个数组,计算数组中出现过的整数和浮点数的最大值,数组中元素若为组合类型,只能是元组、列表或集合,若数组中不包含整数和浮点数返回None
时间: 2023-06-08 12:04:04 浏览: 105
函数:可以找出两个整数的最大值
好的,我可以帮你解决这个问题。以下是实现该函数的代码:
```python
def find_max_num(arr):
max_num = None
for val in arr:
if isinstance(val, (int, float)):
if max_num is None or max_num < val:
max_num = val
elif isinstance(val, (tuple, list, set)):
max_nested_num = find_max_num(val)
if max_nested_num is not None and (max_num is None or max_num < max_nested_num):
max_num = max_nested_num
return max_num
```
这个函数会递归地搜索数组中的所有元素,如果找到整数或浮点数,就与当前已经找到的最大数值进行比较。如果找到的元素是一个组合类型,就递归地调用本函数,得到其中的最大数值,并与当前已经找到的最大数值进行比较。最后返回找到的最大数值,如果找不到整数和浮点数就返回None。
你可以像这样调用这个函数:
```python
arr = [1, 2, (3, 4), [5, 6], {7, 8}, 9.0]
max_num = find_max_num(arr)
print(max_num) # 输出: 9.0
```
在这个例子中,输入的数组包含整数、元组、列表、集合和浮点数,而函数返回的结果是最大的浮点数9.0。
阅读全文