Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Second solution in Clear category for Roman Numerals by andrew.daniel.walsh
num = {1000:'M',900:'CM',500:'D',400:'CD',100:'C',90:'XC',50:'L',40:'XL',10:'X',9:'IX',5:'V',4:'IV',1:'I'}
def checkio(data):
for key in sorted(num.keys(), reverse = True):
if data >= key:
return num[key] + checkio(data - key)
return ''
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'
Oct. 13, 2014