如何使random.choices真正随机(我在秘密模块中找不到它)

时间:2018-06-10 00:44:07

标签: python python-3.x

我想对一项名为Martingala的策略进行统计研究。现在我想多次练习,将结果添加到列表中。问题是,尽管是随机的,它总是会给我带来相同的结果。我怀疑是因为随机模块不是真正随机的。我该如何解决?

非常感谢。

import random
print("ANÁLISIS ESTADÍSTICO DE LA MARTINGALA")
print()
print("La apuesta mínima es 1€")
dinero = int(input("Con cuanto dinero empiezas? "))
muestra = int(input("Tamaño de la muestra: "))
dinero_apostado=1
tiradas=0
datos=list()
while muestra>0:
    while dinero >= dinero_apostado:
        casilla=random.choices([0,1,2],[1,18,18])
        casilla=casilla.pop()
        if casilla == 1:
            dinero = dinero + dinero_apostado
            dinero_apostado = 1
        elif casilla != 1:
            dinero = dinero - dinero_apostado
            dinero_apostado = dinero_apostado * 2
        tiradas+=1
    datos.append(tiradas)
    muestra-=1
print(datos)

1 个答案:

答案 0 :(得分:1)

您当前的代码会不断重复相同的结果,因为您在算法的试验之间没有重置任何变量。内部# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /hn/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /hn/index.php [N] RewriteRule ^ /sample-page/$1 [L] </IfModule> # END WordPress 循环条件变为while后,对于外循环的每次迭代,它将保持False。所以主算法实际上并没有多次运行。它运行一次然后代码只重复那个运行一次的结果。使用不同的随机数生成器不会有帮助。

尝试在外部循环中移动一些变量初始化。您可能需要一个额外的变量来开始您的金额(因为False随着游戏的进行而变化)。也许是这样的:

dinero