파이썬 axelrod 라이브러리를 사용하여 다음과 같은 멋진 블로그를 직접 보게 될 것입니다 : http://mojones.net/evolving-strategies-for-an-iterated-prisoners-dilemma-tournament.html. lookerup 전략을 구현하려고 시도 할 때 다음과 같은 오류가 발생합니다.python axelrod의 키 오류를 어떻게 해결할 수 있습니까? lookerup 전략
어떻게이 오류를 해결할 수 있습니까? lookerup 전략을 잘못 구현하고 있습니까? github에서 전략 코드를 통해 오류를 추적하려고 시도했지만 문제가 보이지 않습니다. 다음 코드는 내 문제의 예를 제공합니다. 그리고 만약 다른 Alternator에 대한 lookerup 전략을 바꾸면 Axelrod 게임이 예상대로 수행됩니다.
import axelrod
import random
import itertools
def get_random_table():
strings = [''.join(x) for x in itertools.product('CD', repeat=2)]
keys = list(itertools.product(strings, strings, strings))
values = ''.join([random.choice('CD') for _ in keys])
return dict(zip(keys, values))
player_1 = axelrod.LookerUp(random_table)
#player_1 = axelrod.Alternator()
player_2 = axelrod.Alternator()
g = axelrod.Game()
iterations = 10
for turn in range(iterations):
player_1.play(player_2)
문제는 당신이 Action
의를 사용해야 할 때, 액션을 표현하기 위해 문자열을 사용하는 것입니다
샘플 코드가 깨졌습니다. 'random_table'은 정의되지 않았습니다. – lxop