Реализовать функцию, которая преобразует римские числа в арабские и наоборот.
Практические упражнения Python
Функция для преобразования римских чисел в арабские и наоборотЭта функция позволяет конвертировать римские числа в арабские и арабские числа в римские. Реализация поддерживает оба направления конвертации. def roman_to_int(s): roman_numerals = {'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000} integer = 0 for i in range(len(s)): if i > 0 and roman_numerals[s[i]] > roman_numerals[s[i - 1]]: integer += roman_numerals[s[i]] - 2 * roman_numerals[s[i - 1]] else: integer += roman_numerals[s[i]] return integer def int_to_roman(num): val = [ 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1 ] syms = [ "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I" ] roman_num = '' i = 0 while num > 0: for _ in range(num // val[i]): roman_num += syms[i] num -= val[i] i += 1 return roman_num # Примеры использования: print(roman_to_int('IX')) # Вывод: 9 print(int_to_roman(9)) # Вывод: IX В данном примере функции | ||||||||||
| ||||||||||
Просмотров: 25 | |
Всего комментариев: 0 | |