players = ["alan", "cat", "celia", "david", "joe_m", "jonathan", "kate", "lucy", "nick", "stephen", "joe_w", "mark", "charlotte", "clare", "ruth", "tameka", "tom", "niko", "paloma"]
game = [
# Round 1
[
("alan", "niko"),
("cat", "kate"),
("celia", "charlotte"),
("david", "niko"),
("joe_m", "niko"),
("jonathan", "niko"),
("kate", "tameka"),
("lucy", "niko"),
("nick", "niko"),
("stephen", "niko"),
("joe_w", "tom"),
("mark", "tameka"),
("charlotte", "niko"),
("clare", "niko"),
("ruth", "kate"),
("tameka", "kate"),
("tom", "niko"),
("niko", "tom")
],
# Round 2
[
("alan", "celia"),
("cat", "stephen"),
("celia", "cat"),
("david", "stephen"),
("joe_m", "kate"),
("jonathan", "ruth"),
("kate", "tameka"),
("lucy", "david"),
("nick", "tameka"),
("stephen", "charlotte"),
("joe_w", "jonathan"),
("mark", "tameka"),
("charlotte", "tameka"),
("clare", "alan"),
("ruth", "jonathan"),
("tameka", "celia")
],
# Round 3
[
("alan", "david"),
("cat", "stephen"),
("celia", "david"),
("david", "clare"),
("joe_m", "jonathan"),
("jonathan", "clare"),
("kate", "clare"),
("lucy", "clare"),
("nick", "celia"),
("stephen", "clare"),
("joe_w", "clare"),
("mark", "charlotte"),
("charlotte", "clare"),
("clare", "charlotte")
],
# Round 4
[
("alan", "mark"),
("cat", "david"),
("celia", "jonathan"),
("david", "stephen"),
("joe_m", "mark"),
("jonathan", "david"),
("kate", "mark"),
("lucy", "mark"),
("nick", "kate"),
("stephen", "david"),
("joe_w", "david"),
("mark", "kate")
],
# Round 5
[
("alan", "mark"),
("cat", "david"),
("celia", "david"),
("joe_m", "mark"),
("jonathan", "david"),
("kate", "mark"),
("lucy", "mark"),
("nick", "mark"),
("stephen", "david"),
("joe_w", "david")
],
# Round 6
[
("alan", "joe_m"),
("cat", "stephen"),
("celia", "joe_m"),
("david", "stephen"),
("joe_m", "jonathan"),
("jonathan", "stephen"),
("kate", "nick"),
("lucy", "jonathan"),
("nick", "stephen"),
("stephen", "david")
]
]
def p2i(p): return players.index(p)
def i2p(i): return players[i]
def vp2vi(vp): return [(p2i(i), p2i(j)) for i, j in vp]
print(i2p(2))
vp2vi(game[1])