源码:
import math print("请输入该事件可能的情况数:") n = eval(input()) print("请输入对应的P(x)的值:(注:所以的P(x)加起来应为1)") list=[]##用来存放各个P(x) for i in range(0,n): ? ? a = eval(input()) ? ? list.append(a) sum=0 print("H=-(",end="") for i in range(0,n): ? ? if i==n-1: ? ? ? ? print("{}*log{}".format(list[i],list[i]),end="") ? ? ? ? temp = math.log(list[i],2) ? ? ? ? temp1 = temp*list[i] ? ? ? ? sum = sum+temp1 ? ? else: ? ? ? ? print("{}*log{}+".format(list[i],list[i]),end="") ? ? ? ? temp = math.log(list[i],2) ? ? ? ? temp1 = temp*list[i] ? ? ? ? sum = sum+temp1 output=0-sum print(")=",end="") print("%.6f"%(output))
输出效果图:
?
|