• Предмет: Информатика
  • Автор: shewchenko06
  • Вопрос задан 2 года назад

осчитать сумму двух натуральных чисел A и B, записанных в римской системе счисления. Ответ также записать в римской системе счисления.
M = 1000, D = 500, C = 100, L = 50, X = 10, V = 5, I = 1. Все числа – не превышают 2000.
Входные данные
В строке записано два числа в римской системе счисления, между которыми стоит знак + .
Выходные данные
Единственное число – сумма чисел, записанное также в римской системе счисления. Числа в римской системе счисления записаны большими латинскими буквами.

Сделать код на Python

Ответы

Ответ дал: Posach
1

def translate(roman):

digit = {"I":1,"V":5,"X":10,"L":50,"C":100,"D":500,"M":1000}

arabic = 0

for d in roman:

try:

if digit[d]<=digit[roman[roman.find(d)+1]]:

arabic-=digit[d]

else:

arabic+=digit[d]

except IndexError:

arabic+=digit[d]

return arabic

inpt = input()

n = inpt.find("+")

a = inpt[:n]

b = inpt[n + 1:]

translated_a = translate(a)

translated_b = translate(b)

print(translated_a+translated_b)

На всех проверенных мною числах - работало. Значит и у тебя должно работать)

Вас заинтересует