【问题标题】:Random number function python that include 1 but not include 0包含1但不包含0的随机数函数python
【发布时间】:2022-01-22 16:16:14
【问题描述】:

我需要生成一个从 0 到 1 包含 1 但不包含 0 的数字

random.uniform(0,1)函数包含0但不包含1

这怎么可能?

【问题讨论】:

  • [0,1) 不保证适用于random.uniform。如果您按1-random.uniform(0,1) 划分,您可能会遇到ZeroDivisionError

标签: python random


【解决方案1】:

可以简单到1 - random.uniform(0,1)

【讨论】:

    【解决方案2】:

    Numpy 的统一随机生成器在 a 低而 b 高的 [a,b) 区间上生成值。

    样本在半开区间 [low, high) 上均匀分布(包括低点,但不包括高点)。换句话说,给定区间内的任何值都同样可能被uniform绘制

    docs

    【讨论】:

      【解决方案3】:

      您也可以使用:

      import random as r
      -r.uniform(-1, 0)
      

      一般来说:

      # random number which excludes a but excludes b
      import random as r
      
      def my_uniform(a = 0, b = 1):
          return -r.uniform(-b, -a)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-01-18
        • 2021-12-03
        • 2011-06-07
        • 2019-12-01
        • 2012-08-21
        • 2021-01-05
        • 1970-01-01
        相关资源
        最近更新 更多