Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python—如何以概率结束例程,该例程会在每次';迭代';?_Python_Python 3.x_Python 2.7_Numpy - Fatal编程技术网

Python—如何以概率结束例程,该例程会在每次';迭代';?

Python—如何以概率结束例程,该例程会在每次';迭代';?,python,python-3.x,python-2.7,numpy,Python,Python 3.x,Python 2.7,Numpy,所以我一直在做一个气球模拟风险任务的改编。其要点是,参与者得到30次试验(3个条件,每个条件10次试验),在每一次试验中,他们可以通过按空格键随时向气球充气。气球越大,他们能得到的钱就越多。他们可以随时套现,甚至不用给气球充一次气(这样他们就可以在这次试验中得到0美元)。 然而,气球也会爆裂 我想将3个条件设计如下:在第一个条件中,当单击空格键时,引出序号的初始值为1%。在第二种和第三种情况下,应分别为2%和5%。气球弹出的概率应在第一次按下空格键时适用,并在每次按下空格键后以基本速率增加。因此

所以我一直在做一个气球模拟风险任务的改编。其要点是,参与者得到30次试验(3个条件,每个条件10次试验),在每一次试验中,他们可以通过按空格键随时向气球充气。气球越大,他们能得到的钱就越多。他们可以随时套现,甚至不用给气球充一次气(这样他们就可以在这次试验中得到0美元)。 然而,气球也会爆裂

我想将3个条件设计如下:在第一个条件中,当单击空格键时,引出序号的初始值为1%。在第二种和第三种情况下,应分别为2%和5%。气球弹出的概率应在第一次按下空格键时适用,并在每次按下空格键后以基本速率增加。因此,对于条件1,第一次按空格键之前为1%,之后为2%,3%,等等。其他条件应为2%,4%,6%,等等和5%,10%,15%,等等。正如我所说,这些条件值已经存储在我用脚本读取的excel文件中

你知道如何用Python编程吗?我是Python新手,我的第一次尝试是针对有人按下空格键的次数总和。这也行得通,但我宁愿有概率

由于@shmulvad在下面的一条非常有用的评论,我更改了我的描述。不清楚我想要什么。我希望现在更容易理解。
提前谢谢你

要以一定的概率测试某事物,通常可以执行以下操作:

随机导入
rnd_val=random.random()#生成一个介于0和1之间的伪随机值
概率=0.05
打印(rnd_val
了解这一点,我们可以通过以下方式实现您的目标:

MONEY\u PER\u泵=2
每次试验的最大泵数=10
基本风险=[0.01,0.02,0.05]
总金额=0
对于基本风险中的基本风险:
n泵,爆裂风险=0,0
尽管如此:
试验是否完成=n泵>=每次试验的最大泵数
如果未完成,则使用试用版和事件.getKeys(['space']):
n_泵+=1
爆炸的风险+=基本风险
如果random.random()<弹出的风险:
打破
如果试用已完成或用户希望提前退出:
总金额+=每泵的金额*n泵
打破

循环退出后,
total_money
将包含玩家赢得的金额(如果我理解正确)。

要测试某个可能性,通常可以执行以下操作:

随机导入
rnd_val=random.random()#生成一个介于0和1之间的伪随机值
概率=0.05
打印(rnd_val
了解这一点,我们可以通过以下方式实现您的目标:

MONEY\u PER\u泵=2
每次试验的最大泵数=10
基本风险=[0.01,0.02,0.05]
总金额=0
对于基本风险中的基本风险:
n泵,爆裂风险=0,0
尽管如此:
试验是否完成=n泵>=每次试验的最大泵数
如果未完成,则使用试用版和事件.getKeys(['space']):
n_泵+=1
爆炸的风险+=基本风险
如果random.random()<弹出的风险:
打破
如果试用已完成或用户希望提前退出:
总金额+=每泵的金额*n泵
打破

循环退出后,
total_money
将包含玩家赢得的金额(如果我理解正确)。

在这里不太适用,但一般来说,添加浮点数有点风险,因此,在计算爆裂风险时,您可能需要使用
分数。分数
,谢谢你们的回答。我认为这个答案非常接近我所需要的,而且比我所拥有的要短得多,因为你把钱、水泵和爆炸的风险结合在一起。是否可以在stackoverflow上共享.py文件?我想向你们展示我所拥有的,因为这比你们建议的要多得多。我只会使用
分数。分数
如果需要极高的精度。感谢@shmulvad为您花费的时间和精力!我将尝试使我的工作适应您的解决方案,因为与我生成的解决方案相比,它占用的空间非常小!这里不太适用,但一般来说,添加浮点数有点风险,所以您可能希望在计算弹出的风险时使用
fracts.fracts
,谢谢你们的回答。我认为这个答案非常接近我所需要的,而且比我所拥有的要短得多,因为你把钱、水泵和爆炸的风险结合在一起。是否可以在stackoverflow上共享.py文件?我想向你们展示我所拥有的,因为这比你们建议的要多得多。我只会使用
分数。分数
如果需要极高的精度。感谢@shmulvad为您花费的时间和精力!我将尝试使我的工作适应您的解决方案,因为与我生成的解决方案相比,它占用的空间非常小!请分享您的示例代码。请分享您的示例代码。