def roman_to_int(roman):
vals = {<EOL>"<STR_LIT:I>": <NUM_LIT:1>,<EOL>"<STR_LIT>": <NUM_LIT:5>,<EOL>"<STR_LIT:X>": <NUM_LIT:10>,<EOL>"<STR_LIT:L>": <NUM_LIT:50>,<EOL>"<STR_LIT:C>": <NUM_LIT:100>,<EOL>"<STR_LIT:D>": <NUM_LIT>,<EOL>"<STR_LIT:M>": <NUM_LIT:1000>,<EOL>}<EOL>total = <NUM_LIT:0><EOL>lastValue = sys.maxsize<EOL>for char in list(roman):<EOL><INDENT>value = vals[char.upper()]<EOL>if value > lastValue:<EOL><INDENT>total += value - <NUM_LIT:2> * lastValue<EOL><DEDENT>else:<EOL><INDENT>total += value<EOL><DEDENT>lastValue = value<EOL><DEDENT>return total<EOL>
https://gist.github.com/kristopherjohnson/f4eca9018c5085fc736b2f29a202b8f8