1

对于一个实验,我想对某个选择导致结果的概率分布进行编程。目前我有:

Action = models.IntegerField(
    choices=[
        [1, 'altruistic (2:0.5,0:0.3,-2:0.2)'],
        [2, 'selfish (2:0.3,0:0.4,-2:0.3)']
        ]

我试过了:

Action = models.IntegerField(
    choices=[
        [random.choices([2,0,-2],[0.5,0.3,0.3]), 'altruistic (2:0.5,0:0.3,-2:0.2)'],
        [random.choices([2,0,-2],[0.3,0.4,0.3]), 'selfish (2:0.3,0:0.4,-2:0.3)']
        ]
    )

这给了我一个内部服务器错误。对于实验,我需要实验中的随机数和给定的选择。我应该访问的给定选择

player.get_field_display('Action')

但是在当前状态下:

{% extends "global/Page.html" %}{% load otree %}


{% block title %} 
Treffen Sie ihre Entscheidung 
{% endblock %}


{% block content %} 
Bitte treffen Sie ihre Entscheidung. Spieler 1 hat entschieden {{player.get_field_display('Action')}}  an Sie zu verteilen. Dies resultierte in {{ group.Action }}
    {%formfields%}
    {% next_button %} 
{% endblock %} 

这会导致 TemplateSyntaxError: Unparsable argument '''Action'''。参数必须是有效的 Python 文字。(第 29 行,在 "player.get_field_display(<span") 中有人知道这些缺陷吗?

4

0 回答 0