Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Roman Numerals by kalauroma7997
def checkio(data):
dict_digit = {
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'
}
from_bigger = list()
for dig, roman in dict_digit.items():
from_bigger.append((dig, roman))
from_bigger = sorted(from_bigger, reverse=True)
roman_result = ""
for dig, roman in from_bigger:
while data >= dig:
data -= dig
roman_result += roman
return roman_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'
print('Done! Go Check!')
May 30, 2018