Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
dict + replace solution in Clear category for Roman Numerals by nickgryg
def checkio(data):
latin = ''
mapping = {
0: '',
1: 'I',
2: 'II',
3: 'III',
4: 'IV',
5: 'V',
6: 'VI',
7: 'VII',
8: 'VIII',
9: 'IX' }
for i in range(3,-1,-1):
latin += mapping[data // 10 ** i]
if i == 3:
latin = latin.replace('I','M')
elif i == 2:
latin = latin.replace('X','M').replace('V','D').replace('I','C')
elif i == 1:
latin = latin.replace('X','C').replace('V','L').replace('I','X')
data %= 10 ** i
return latin
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. 11, 2018
Comments: