Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Roman Numerals by mreid1130
# migrated from python 2.7
def checkio(data):
# replace this for solution
roman = ""
print(data)
if (int(data / 1000) > 0):
roman += "M" * int(data / 1000)
data = data % 1000
if (int(data / 100) == 9):
roman += "CM"
data = data % 100
if (int(data / 500) > 0):
roman += "D" * int(data / 500)
data = data % 500
if (int(data / 100) > 0):
if (int(data / 100) == 4):
roman += "CD"
else:
roman += "C" * int(data / 100)
data = data % 100
if (int(data / 10) == 9):
roman += "XC"
data = data % 10
if (int(data / 50) > 0):
roman += "L" * int(data / 50)
data = data % 50
if (int(data / 10) > 0):
if (int(data / 10) == 4):
roman += "XL"
else:
roman += "X" * int(data / 10)
data = data % 10
if (data == 9):
roman += "IX"
data = 0
if (int(data / 5) > 0):
roman += "V" * int(data / 5)
data = data % 5
if (data > 0):
if (data == 4):
roman += "IV"
else:
roman += "I" * data
return roman
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. 16, 2016