Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Roman Numerals by DominikKossinski
def checkio(data):
liczba =""
if(data//1000>0):
n=data//1000
for i in range(n):
liczba=liczba+"M"
data=data%1000
if(data//100>0):
n=data//100
data=data%100
if(n==9):
liczba=liczba+"CM"
else:
if(n>5):
liczba=liczba+"D"
n=n-5
for i in range(n):
liczba=liczba+"C"
else:
if(n==5):
liczba=liczba+"D"
if(n==4):
liczba=liczba+"CD"
if(n<4):
for i in range(n):
liczba=liczba+"C"
if(data//10>0):
n=data//10
data=data%10
if(n==9):
liczba=liczba+"XC"
else:
if(n>5):
liczba=liczba+"L"
n=n-5
for i in range(n):
liczba=liczba+"X"
else:
if(n==5):
liczba=liczba+"L"
if(n==4):
liczba=liczba+"XL"
if(n<4):
for i in range(n):
liczba=liczba+"X"
if(data//1>0):
n=data//1
data=data%1
if(n==9):
liczba=liczba+"IX"
else:
if(n>5):
liczba=liczba+"V"
n=n-5
for i in range(n):
liczba=liczba+"I"
else:
if(n==5):
liczba=liczba+"V"
if(n==4):
liczba=liczba+"IV"
if(n<4):
for i in range(n):
liczba=liczba+"I"
return liczba
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. 21, 2016