2016-03-01 58 views
0

我有一个列表,其中有某些元素。例如event = [“head”,“tail”]。每个元素应该是随机采用伪随机生成器进行挑选。这个随机事件应该发生大约50%的时间。使用某种伪随机数生成器,但是如果测试中的某些内容失败,则可以用这种方式重复测试或序列,我们可以重复发生的事情。这应该在python中实现。随机从Python中的列表中选择一个元素使用伪随机生成器,应该发生50%的时间

+0

你的意思是: 1)随机事件50%?你是说头和尾应该被称为相同的次数? 2)重复;你的意思是做两次测试的结果是否相同? – JeD

+0

是的头部和尾部应该出现相同的次数。所以如果在所有的测试都失败了,我想检查它是如何失败的。但是我只能知道事件发生的顺序是正确的吗? – Sai

+0

感谢您的回复!!!而不是h和t可以用两个函数替换它吗?我想随机地调用这两个函数。这样做有可能吗?@JeD – Sai

回答

1
import random as rnd 
coin=["h","t"] 
seed=10 
rnd.seed(seed) 

for i in range(100): 
    print coin[rnd.randint(0,1)] 

这是你想要的吗?请在未来的问题

1

我相信你的意思是由

中,我们可以重复测试或序列的方式,如果什么东西在测试失败的方式使这更具体的,我们可以重复什么发生了

是使用种子。种子基本上是字符串,它使伪随机数发生器始终产生相同的结果,提供相同的种子。

import random 
random.seed('abcd') 

coin = ['heads', 'tails'] 
number_of_tests = 100 

for i in range(number_of_tests): 
    print(random.choice(coin)) 

而且你想用相同的结果重复测试,任何时候只要调用

random.seed('abcd') 

一次。

+0

这里它随机选择正面或反面。abcd的含义是什么?它与正面和反面相关?@JeD – Sai

+0

@Sai'abcd是所谓的“种子值”*随机函数需要一个起始点。我用'10'作为出发点,他使用'abcd'。这样做是为了确保即使在多次运行时也能得到相同的结果。 如果更改种子值,您将得到一个不同的随机系列。 – JeD

+0

谢谢!!这很有用。 – Sai