#优化sum()函数
错误例子
touple = (1,2,3,4,'a',5,'/','1')
sum = 0
for each in touple:
a = str(each) # str将所有元素转换成字符串类型,原本是字符串类型的依旧是字符串,因此 '1'与1无法辨别类型,出现错误
if a.isdigit() == False: # 将浮点数也排除了,使得函数只能计算整数加法
each = 0
sum = sum + each # 由于上述判断错误,'1'未被排除,所以出现错误
else:
sum = sum + each
print(sum)
改正
def sum(x):
result = 0
for each in x:
if (type(each) == int) or (type(each) == float):
result += each
else:
continue
return result
print(sum([1, 2.1, 2.3, 'a', '1', True]))
sum()函数内参数元素只有两种类型,整型和浮点型,因此只需要判断参数元素是否是这两种类型即可。