代码问题
# -*- coding: utf-8 -*-import math
#the function to calculate entropy, you should use the probabilities as the parameters
def entropy(*c):
result=-1;
if(len(c)>0):
result=0;
for x in c:
result+=(-x)*math.log(x,2)
return result;
if (__name__=="__main__"):
print(entropy(1/3,2/3));
有哪位大佬知道我标红的代码有什么用吗?
定义输入参数为零个时候函数的返回值,参数个数为零时,下面的计算公式没意义,
必须有一个值要返回 给result赋初值啊。若没有这一行,当调用函数的时候没有给参数,result则未定义,return就会出错 就是初始赋值,换成其他任意值都可以,就是要知道这个值表示没有传参,比如换成result = '没有参数'
这边写-1,猜测是类似于find()函数这样,查找字符,找到了返回索引,找不到返回-1
便于区分传参还是没有传参
页:
[1]