二项式系数和时间拥塞概率 Python

Binomial coefficient and time congestion Propabillity Python

def binomialco(p,k):
  Sum = 1
  Pro = 1
  for i in range(0,k):
    Sum = Sum*(p-i)
  for i in range(1,k+1):
    Pro = Pro*i
  return float(Sum/Pro)

def P0(s,n,v,h):
  athroisma = 0
  for i in range(0,s+1):
    dent= binomialco(n-1,i)*(v*h)**i
    athroisma+=dent
  return athroisma

s=input()
n=input()
v=input()
h=input()

print P0(s,n,v,h)

问题是当我输入以下内容时:s=2n=4v=float(1/30)h=3 我应该得到 1.33。我得到的只是 0.0。有人可以帮我吗?

从你得到的东西猜测,你一定是在使用py2。在这里你将不得不强制 float 也就是你必须 return float(Sum)/float(Pro)

这是一个让你明白为什么的小测试

>>> 1/30
0
>>> float(1/30)
0.0
>>> float(1)/float(30)
0.03333333333333333