Матрица выплат: вернуть все как TRUE - PullRequest
0 голосов
/ 03 марта 2020

РЕДАКТИРОВАТЬ:

Проблема, которую я разместил ранее, происходит из-за того, что я пытаюсь кодировать экономический эксперимент. Сам эксперимент включает структуру выплат дилеммы заключенного, но каждому игроку в начале каждого раунда присваивается случайное число x или y, которое используется в матрице выплат и тем самым контролирует, «входить» или «выходить» на рынок. Ссылку на подробную структуру эксперимента можно найти здесь: https://i.imgur.com/bpnkvVP.png

Так вот почему я начинаю с приведенного ниже кода. Но если кто-то может придумать лучший способ спроектировать этот эксперимент, я весь в ушах:)

ps Я очень новичок в 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))

Ответы [ 2 ]

0 голосов
/ 03 марта 2020

Два шага: - 1. изменить оператор возврата функции, чтобы он возвращал [your_pay, its_pay]. Это заставит вашу функцию возвращать список.

Затем измените каждое сравнение на выплату (3, ENTER, 2, EXIT) == [3, 0]
0 голосов
/ 03 марта 2020

Я думаю, что вы ищете ключевое слово 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)
)
...