import shared from pprint import pprint as pp rock = "rock" paper = "paper" scissors = "scissors" lose = "X" tie = "Y" win = "Z" Moves = { "A":rock, "B":paper, "C":scissors, "X":rock, "Y":paper, "Z":scissors, } Scores = { rock: 1, paper: 2, scissors: 3 } LosesTo = { rock: paper, paper: scissors, scissors: rock } WinsTo = { paper: rock, scissors: paper, rock: scissors } def winner(opponent, me): if opponent == me: return 3 + Scores[me] # wins if (opponent == rock and me == paper) or (opponent == paper and me == scissors) or (opponent == scissors and me == rock): return 6 + Scores[me] return 0 + Scores[me] def which_move(opponent, me): if me == lose: return WinsTo[Moves[opponent]] if me == win: return LosesTo[Moves[opponent]] if me == tie: return Moves[opponent] def run(moves): score = 0 for move in moves: opponent, me = move my_move = which_move(opponent, me) o_move = Moves[opponent] pts = winner(o_move, my_move) score += pts print(score) def main(): rows = [row.rstrip().split() for row in shared.load(2)] run(rows) if __name__ == "__main__": main()