Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Roman Numerals by PythOff
def checkio(data):
upToTen = ["", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"]
upToHundred = ["", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"]
upToTousand = ["", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"]
greater = ["", "M", "MM", "MMM"]
result = upToTen[data%10]
data //= 10
if data > 0:
result = upToHundred[data%10] + result
data //= 10
if data > 0:
result = upToTousand[data%10] + result
data //= 10
if data > 0:
result = greater[data%10] + result
return 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'
Oct. 15, 2016