code: def MakePoissonPmf(lam, high, step=1):
      
      pmf = Pmf()
      for k in xrange(0, high + 1, step):
          p = EvalPoissonPmf(k, lam)
          pmf.Set(k, p)
      pmf.Normalize()
      return pmf
docs: Makes a PMF discrete approx to a Poisson distribution.
  
      lam: parameter lambda in events per unit time
      high: upper bound of the Pmf
  
      returns: normalized Pmf