Предмет: Информатика,
автор: shewchenko06
осчитать сумму двух натуральных чисел A и B, записанных в римской системе счисления. Ответ также записать в римской системе счисления.
M = 1000, D = 500, C = 100, L = 50, X = 10, V = 5, I = 1. Все числа – не превышают 2000.
Входные данные
В строке записано два числа в римской системе счисления, между которыми стоит знак + .
Выходные данные
Единственное число – сумма чисел, записанное также в римской системе счисления. Числа в римской системе счисления записаны большими латинскими буквами.
Сделать код на Python
Ответы
Автор ответа:
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)
На всех проверенных мною числах - работало. Значит и у тебя должно работать)
Похожие вопросы
Предмет: Русский язык,
автор: nadirovatojkul
Предмет: Қазақ тiлi,
автор: bolatovaaisulu10
Предмет: География,
автор: kchertu
Предмет: Физика,
автор: ksusavatkina38
Предмет: Математика,
автор: jjansnnd