首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Otree:使用依赖于玩家输入的概率分布创建随机变量。

Otree:使用依赖于玩家输入的概率分布创建随机变量。
EN

Stack Overflow用户
提问于 2021-08-18 01:20:56
回答 1查看 265关注 0票数 1

我正在做我的第一项“奥特里”项目,我对所有超出简单调查内容的东西都感到非常兴奋。

我有一个输入页面,玩家必须决定他想投资多少点。他投资的点数应该会影响获得回报的可能性。我的输入变量:

代码语言:javascript
运行
复制
points = models.IntegerField(
                        label="How many points would you like to invest?",
                        choices=[
                             [0, "None"],
                             [1, "1 point"],
                             [2, "2 points"],
                             [3, "3 points"]])

我现在需要的是一个回报页面,随机生成器决定玩家是否赢了。概率分布假定如下:

  • 如果玩家投资0,他有机会(1+0)/10赢
  • ,如果玩家投资1,他有机会(1+1)/10赢
  • ,如果该玩家投资2,他有机会(1+2)/10赢
  • ,如果该玩家投资3,他有机会(1+3)/10赢

F 212

在这个付费页面上应该说:“你已经滚动了数字x,这意味着你赢了,输了。”

我唯一能在网上找到的是与python相关的信息:https://www.kite.com/python/answers/how-to-sample-a-random-number-from-a-probability-distribution-in-python,但我没有让它与otree一起工作。

,我需要把什么代码放在哪里才能让它工作呢?

EN

回答 1

Stack Overflow用户

发布于 2021-08-18 02:22:02

下面是使用Numpy生成结果的代码片段。

代码语言:javascript
运行
复制
import numpy as np

for invested in range(0, 4):
    # Use the provided formula to calculate win probability
    win_prob = (1 + invested) / 10
    # Loss probability = 1 - Win Probability
    loss_prob = 1 - win_prob
    # Get a random result
    result = np.random.choice(['Win', 'Loss'], p=[win_prob, loss_prob])
    # Show the result
    print(f'Win Probability: {win_prob}, Result: {result}')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68825544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档