python - 随机选择 0 或 1 相同的次数?

标签 python random

我想迭代 100 个值并随机选择 0 或 1,但最终会得到相同数量的 0 和 1,

下面的代码打印计数:

import random
c_true = 0
c_false = 0

for i in range(100):
    a = random.getrandbits(1)
    if a == 1:
        c_true += 1
    else:
        c_false += 1

print "true_count:",c_true
print "false_count:",c_false

输出是:

true_count: 56
false_count: 44

我希望计数相等

true_count: 50
false_count: 50

如何更改代码以获得所需的结果?

最佳答案

  1. 用 50 个 0 和 50 个 1 创建数字

    >>> numbers = [0, 1] * 50
    
  2. 导入 shuffle from random

    >>> from random import shuffle
    
  3. 洗牌它们

    >>> shuffle(numbers)
    

注意:随机播放 就地随机播放列表。因此,数字 现在将被洗牌。

关于python - 随机选择 0 或 1 相同的次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27922948/

相关文章:

Rcpp - 从自定义分布生成多个随机观察值

random - 保存程序生成的所有随机数,然后在 Racket 中重复使用它们

javascript - HTML - 如何在 div 内的 img=src 地址中生成随机数

javascript - Selenium +火狐 : empty execute_script arguments

python - 打印以逗号分隔的列表,不带尾随逗号

python - 使用 fmin_bfgs 进行逻辑回归和 Scipy 优化

python - 使用 [n :] and [n: end] gives different results when using . value_list() 切片 QuerySet

python - python 中的自语法

Java给二维数组随机赋值

java - 有没有更快的方法来搜索累积分布?