Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Roman Numeral Dictionary solution in Clear category for Roman Numerals by ArbitraryHubris
def checkio(number):
conv = {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"}
convKeys = sorted(conv.keys())
convKeys.reverse() # reverse sort the keys so we start with the largest below
romanValue = ""
for value in convKeys:
while number >= value:
romanValue += conv[value]
number -= value
return romanValue
#These "asserts" using only for self-checking and not necessary for auto-testing
if __name__ == '__main__':
assert checkio(6) == 'VI', '6'
assert checkio(76) == 'LXXVI', '76'
assert checkio(499) == 'CDXCIX', '499'
assert checkio(3888) == 'MMMDCCCLXXXVIII', '3888'
April 5, 2015
Comments: