Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Uncategorized category for Roman Numerals by Anna_Barys
def first_ten(x):
ten = ["I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"]
if x > 0:
n1 = ten[x-1]
else:
n1 = ""
return n1
def dziesiatki(x):
if x< 40:
n2 = x//10*"X"
elif x < 50:
n2 = "XL"
elif x < 90:
n2 = "L" + (x-50)//10*"X"
else:
n2 = "XC"
return n2
def setki(x):
if x < 400:
n3 = x//100*"C"
elif x < 500:
n3 = "CD"
elif x < 900:
n3 = "D" + (x-500)//100*"C"
else:
n3 = "CM"
return n3
def checkio(data):
nazwa = ""
if data > 999:
nazwa = data//1000*"M" + setki(data%1000) + dziesiatki(data%100) + first_ten(data%10)
elif data > 99:
nazwa = setki(data%1000) + dziesiatki(data%100) + first_ten(data%10)
elif data > 9:
nazwa = dziesiatki(data%100) + first_ten(data%10)
else:
nazwa = first_ten(data%10)
print(nazwa)
#replace this for solution
return nazwa
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'
Jan. 1, 2016
Comments: