如果元组tuple为空,那么循环for x in args这个语句有效么?
求大神们帮忙看看,我这个哪里有问题。。 def average(*args): i=0 sum=0.0 for x in *args: sum=sum+x i=i+1 if i==0: return sum else return sum/i print average() print average(1, 2) print average(1, 2, 2, 3, 4)
求大神们帮忙看看,我这个哪里有问题。。 def average(*args): i=0 sum=0.0 for x in *args: sum=sum+x i=i+1 if i==0: return sum else return sum/i print average() print average(1, 2) print average(1, 2, 2, 3, 4)
2016-04-26
def average(*args): sum = 0.0 if len(args) == 0: return sum for x in args: sum = sum + x return sum / len(args) print average() print average(1, 2) print average(1, 2, 2, 3, 4)
首先, *args 接受不定数量的参数, 在函数中调用的时候,不用星号(*)了, 在函数中调用的时候 args 就是传入的参数 组成的 元组(tuple).
其次, 有了 len(args) , 就不用另外定义i 并且自加1 了。
最后,为了防止 发生 除0 的错误,进入函数后,第一时间判断参数长度。
所以, 根据上面三条,理解下正确答案。
举报