def avg(L):
if not isinstance(L,(list,tuple)):
return None
result=0
num=0
for i in L:
if isinstance(i,(int,float)):
num+=1
result+=i
if num==0:
return None
return result/num
print(avg([1,2,3]))
print(avg((1,2,3)))
print(avg([1,"1",2,"2",3]))
print(avg(["1"]))
函数:
1.传参的类型判断,不符合计算规划的参数需要忽略或者其他处理
2.思考需要声明哪些变量来存储计算结果和中间的计算过程值
3.开始写的时候,最好加上中间状态的打印语句。
一般用的逻辑是遍历+if判断+return短路等
4.计算完毕,想清楚返回1个还是多个数据的结果