|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我的思路是不管什么类型的序列先把它转换成列表,然后通过循环体输出每一个列表中的元素,判断是不是字符类型,如果是的话就移出列表,最后返回一个新列表再求和。
但执行报错:RecursionError: maximum recursion depth exceeded while calling a Python object,请帮忙看看是哪里出问题了啊?
- def sum(seq):
- list1=list(seq)
- for each in list1:
- if type(each)==str:
- list1.remove(each)
- return sum(list1)
- mix=(1,2,5,10,17,'a','b','c')
- sum(mix)
复制代码
把 for each in list1 改成 for each in list1[:] 。
- def add(mix):
- list1 = list(mix)
- for each in list1[:]:
- if type(each) == str:
- list1.remove(each)
- return sum(list1)
- mix = (1, 2, 5, 10, 17, 'a', 'b', 'c')
- print(add(mix))
复制代码
|
|