回报矩阵:全部返回TRUE



编辑:

我之前发布的问题来自于我试图对一个经济学实验进行编码的事实。实验本身涉及囚犯困境的报酬结构,但在每一轮开始时,每个参与者都被分配了一个随机数x或y,用于报酬矩阵,从而控制是"进入"还是"退出"市场。可以在这里找到实验详细结构的链接:https://i.stack.imgur.com/G49NU.png

这就是为什么我从下面的代码开始。但是,如果有人能想出更好的方法来设计这个实验,我会洗耳恭听的:(

p.s我对python非常陌生;这是我的第一个项目。


ENTER = "enter"
EXIT = "exit"
def payoff(your_number, your_choice, their_number, their_choice):
your_pay =
their_pay = 
return your_pay, their_pay
print((payoff(3, ENTER, 2, EXIT)) == (3, 0),
payoff(2, EXIT, 4, ENTER) == (0, 3),
payoff(3, ENTER, 3, ENTER) == (1, 1),
payoff(3, EXIT, 4, EXIT) == (0, 0))

我认为您正在寻找and关键字,该关键字将求值为True,当且仅当,它给出的两个条件都是True

print(
payoff(3, ENTER, 2, EXIT)) == (3, 0) and
payoff(2, EXIT, 4, ENTER) == (0, 3) and
payoff(3, ENTER, 3, ENTER) == (1, 1) and
payoff(3, EXIT, 4, EXIT) == (0, 0)
)

两个步骤:-1.将函数return语句更改为return[your_pay,their _pay]。这将使您的函数返回一个列表。

  1. 然后将每个比较更改为回报(3,ENTER,2,EXIT(==[3,0]

最新更新