Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Using zipped list lookup solution in Clear category for Roman Numerals by WittyWalrus
def checkio(n):
INT_TO_ROMAN = list(
zip([1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000],
'I,IV,V,IX,X,XL,L,XC,C,CD,D,CM,M'.split(',')))
roman_numeral = []
for i, r in reversed(INT_TO_ROMAN):
while n >= i:
roman_numeral.append(r)
n -= i
return ''.join(roman_numeral)
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!')
July 24, 2019
Comments: