我想对一个叫做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)
您当前的代码不断重复相同的结果,因为在算法的两次尝试之间没有重置任何变量。一旦内部
while
循环的条件变为False
,对于外部循环的每次迭代,它将保持False
。所以主算法实际上不会运行几次。它运行一次,然后代码只会重复运行一次的结果。使用不同的随机数生成器也没用。你知道吗尝试在外循环中移动一些变量初始化。你可能需要一个额外的变量来计算你开始的钱的数量(因为
dinero
随着游戏的进行而改变)。可能是这样的:相关问题 更多 >
编程相关推荐