编程要求 求列表中所有数字和,列表中嵌套层次不限2层。 输入格式 在一行中输入列表或元组。 输出格式 在一行中输出数字的和。 输入输出样例 输入 [11,2,[3,7],(68,-1),"123",9] 输出 99
时间: 2024-02-23 12:58:27 浏览: 160
层次列表,这里已三层列表为例
好的,我知道了。针对您的问题,您可以使用递归的方式来遍历列表和元组中的所有元素,如果元素是数字,则加入到总和中,否则继续递归遍历。
以下是示例代码:
```python
def get_sum(lst):
total = 0
for item in lst:
if isinstance(item, (int, float)):
total += item
elif isinstance(item, (list, tuple)):
total += get_sum(item)
return total
input_lst = [11,2,[3,7],(68,-1),"123",9]
print(get_sum(input_lst)) # 输出 99
```
代码中先定义了一个 `get_sum` 函数,通过遍历列表和元组中的元素来计算总和。如果元素是数字,则直接加入总和中;如果是列表或者元组,则递归调用 `get_sum` 函数,将返回值加入总和中。
最后,我们将示例输入列表传入 `get_sum` 函数中,并输出结果。
阅读全文