#!/usr/bin/env python # lose: 0 # draw: 3 # win: 6 # x: need to lose # y: need to draw # z: need to win ROCK = 'A' PAPER = 'B' SCISSORS = 'C' LOSE = 'X' DRAW = 'Y' WIN = 'Z' outcomes = { ROCK: { # rock: 1 ROCK: 1 + 3, # rock PAPER: 2 + 6, # paper SCISSORS: 3 + 0 # scissors }, PAPER: { # paper: 2 ROCK: 1 + 0, # rock PAPER: 2 + 3, # paper SCISSORS: 3 + 6 # scissors }, SCISSORS: { # scissors: 3 ROCK: 1 + 6, # rock PAPER: 2 + 0, # paper SCISSORS: 3 + 3 # scissors } } strategies = { ROCK: { LOSE: SCISSORS, DRAW: ROCK, WIN: PAPER }, PAPER: { LOSE: ROCK, DRAW: PAPER, WIN: SCISSORS }, SCISSORS: { LOSE: PAPER, DRAW: SCISSORS, WIN: ROCK } } score = 0 with open('input') as f: for line in f: parts = line.rstrip().split(" ") oppo_move = parts[0] our_move = strategies[oppo_move][parts[1]] score = score + outcomes[oppo_move][our_move] print(score)