Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Second solution in Clear category for Roman Numerals by J.W
from collections import OrderedDict
Int_to_Roman = OrderedDict({'M':1000, 'CM':900, 'D':500, 'CD':400, 'C':100, 'XC':90, 'L':50, 'XL':40, 'X':10, 'IX':9, 'V':5, 'IV':4, 'I':1})
def checkio(data):
r = ''
for k, v in Int_to_Roman.items():
t = data//v
r += k * t
data %= v
return r
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
assert checkio(6) == 'VI', '6'
assert checkio(76) == 'LXXVI', '76'
assert checkio(499) == 'CDXCIX', '499'
assert checkio(3888) == 'MMMDCCCLXXXVIII', '3888'
March 28, 2018