#!/usr/bin/env python
# -*- coding=utf-8 -*-
# 接收任何类型的传参,对参数中的数字进行求和
def check_type(foo):
if isinstance(foo, list):
total_list = 0
for i in foo:
a = check_type(i)
if isinstance(a, int):
total_list = total_list + a
return total_list
if isinstance(foo, dict):
total_dict = 0
for value in foo.values():
a = check_type(value)
if isinstance(a ,int):
total_dict = total_dict + a
return total_dict
if isinstance(foo, tuple):
total_tuple = 0
for i in foo:
a = check_type(i)
if isinstance(a, int):
total_tuple = total_tuple + a
return total_tuple
if isinstance(foo, str):
return "字符串"
if isinstance(foo, int):
return foo
def get_sum(foo):
bar = check_type(foo)
return bar
aa = [1,2,3,'fffff',[1,2,3],{'a': 123}, (1,2,3),[1,2,[5,6]],{'aa': {'bb': 123}}]
bb = 'fgasfawf'
cc = {'abc': {'cc': 1}, 'v': [5,7,9,1], 'e': (1,7,5), 's': 'sdawdwa', 'j': aa}
print(get_sum(cc))