Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Tried to make as readable as possible using Dict solution in Clear category for Roman Numerals by ipavel83
def checkio(data):
romanDict = {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'}
result = []
for ara, rom in romanDict.items():
result.append( data // ara * rom)
data %= ara
return ''.join(result)
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'
print('Done! Go Check!')
Nov. 23, 2019