Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Reverse Roman Numerals by krzysztofc10
def reverse_roman(roman_string):
new=0
nums={"CM": 900, "M": 1000, "CD": 400, "D": 500, "XC": 90, "C": 100, "XL": 40, "L": 50, "IX": 9, "X": 10, "IV": 4, "V": 5, "I": 1}
#defiiowanie kazdej cyfry rzymskiej oraz przypadkow gdzie stawiamy mniejsza cyfre za wieksza
for a in nums: #dla kazdej mozliwej cyfry rzymskiej
if a in roman_string: #jezeli ona znajduje sie w liczbie na wejsciu
for b in range (0, roman_string.count(a, 0, roman_string.find(a)+3)): #dla kazdego mozliwego wystapienia tej cyfry pod rzad (+3)
new+=nums[a] #dodaje jej dziesietna wartosc do wyniku
roman_string=roman_string.replace(a, "") #a usuwam z wejscia
return new #wyrzuc nowa
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
assert reverse_roman('VI') == 6, '6'
assert reverse_roman('LXXVI') == 76, '76'
assert reverse_roman('CDXCIX') == 499, '499'
assert reverse_roman('MMMDCCCLXXXVIII') == 3888, '3888'
print('Great! It is time to Check your code!');
Jan. 16, 2018