Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Second solution in Clear category for Reverse Roman Numerals by freeman_lex
ROMANS = {'M': 1000,
'D': 500,
'C': 100,
'L': 50,
'X': 10,
'V': 5,
'I': 1}
def reverse_roman(roman_string):
presum = sum(ROMANS[i] for i in roman_string)
huns = "CM" in roman_string or "CD" in roman_string
tens = "XL" in roman_string or "XC" in roman_string
ones = "IX" in roman_string or "IV" in roman_string
return presum - huns * 200 - tens * 20 - ones * 2
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
assert reverse_roman('VI') == 6, '6'
assert reverse_roman('LXXVI') == 76, '76'
assert reverse_roman('CDXCIX') == 499, '499'
assert reverse_roman('MMMDCCCLXXXVIII') == 3888, '3888'
print('Great! It is time to Check your code!');
Jan. 29, 2023
Comments: