Random.randint每次运行都会产生相同的答案 - 或者我的代码是否有问题?

时间:2015-09-08 21:30:20

标签: python random while-loop

我想重复硬币翻转500次,并重复该实验30次并打印每次总计的尾部总数(1)。只是运行头部/尾部很容易,但是当我乱七八糟地尝试重复这个(第一次循环)时,每次运行都会得到完全相同数量的尾部,这是不可能的。

虽然我是一个完整的新手,但我无法弄清楚我在哪里做错了什么......谢谢!

import random
i=0
count_1=0 
rand_count=0
while rand_count<31:
    while i < 501:
        y=random.randint(0,1)
        if y ==1:
            count_1=count_1+1
        i=i+1
    rand_count=rand_count+1
    print(count_1)

1 个答案:

答案 0 :(得分:0)

您只在两个循环之外重置count_1i一次。它们需要在外循环内重置。使用变量名称和循环结构有助于使代码更易于阅读:

import random

for trials in range(30):

    count_1 = 0
    for samples in range(500):
        if 1 == random.randint(0, 1):
            count_1 += 1

    print(count_1)