Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Second solution in Clear category for Roman Numerals by skyJuice
NUMBERS = [1000,900,500,400,100,90,50,40,10,9,5,4,1]
ALPHABET = {1:"I", 4:"IV", 5:"V", 9:"IX", 10:"X", 40:"XL", 50:"L", 90:"XC", 100:"C", 400:"CD", 500:"D", 900:"CM",1000:"M"}
def checkio(data):
result = ""
for i in NUMBERS:
while data>=i:
data -= i
result += ALPHABET[i]
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'
Nov. 10, 2014