Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Roman Numerals by jantechner
def checkio(data):
arab = str(data)
cyfry = []
for i in range(0, len(arab)):
cyfry.append(arab[i])
print(cyfry)
rzym1 = ["I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"]
rzym2 = ["X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"]
rzym3 = ["C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"]
rzym4 = ["M", "MM", "MMM"]
result = ""
counter = len(cyfry)
licznik = 0
for i in range(counter-1, -1, -1):
if i == 3:
if cyfry[licznik] == "1": result += rzym4[0]
elif cyfry[licznik] == "2": result += rzym4[1]
elif cyfry[licznik] == "3": result += rzym4[2]
if i == 2:
if cyfry[licznik] == "1": result+= rzym3[0]
elif cyfry[licznik] == "2": result += rzym3[1]
elif cyfry[licznik] == "3": result += rzym3[2]
elif cyfry[licznik] == "4": result += rzym3[3]
elif cyfry[licznik] == "5": result += rzym3[4]
elif cyfry[licznik] == "6": result += rzym3[5]
elif cyfry[licznik] == "7": result += rzym3[6]
elif cyfry[licznik] == "8": result += rzym3[7]
elif cyfry[licznik] == "9": result += rzym3[8]
if i == 1:
if cyfry[licznik] == "1": result+= rzym2[0]
elif cyfry[licznik] == "2": result += rzym2[1]
elif cyfry[licznik] == "3": result += rzym2[2]
elif cyfry[licznik] == "4": result += rzym2[3]
elif cyfry[licznik] == "5": result += rzym2[4]
elif cyfry[licznik] == "6": result += rzym2[5]
elif cyfry[licznik] == "7": result += rzym2[6]
elif cyfry[licznik] == "8": result += rzym2[7]
elif cyfry[licznik] == "9": result += rzym2[8]
if i == 0:
if cyfry[licznik] == "1": result+= rzym1[0]
elif cyfry[licznik] == "2": result += rzym1[1]
elif cyfry[licznik] == "3": result += rzym1[2]
elif cyfry[licznik] == "4": result += rzym1[3]
elif cyfry[licznik] == "5": result += rzym1[4]
elif cyfry[licznik] == "6": result += rzym1[5]
elif cyfry[licznik] == "7": result += rzym1[6]
elif cyfry[licznik] == "8": result += rzym1[7]
elif cyfry[licznik] == "9": result += rzym1[8]
licznik += 1
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'
Oct. 14, 2016