Есть ответ 👍

В двух глобальных переменных one, two находятся два натуральных числа: первое слагаемое и второе слагаемое. Напишите функцию roman(), которая считает их сумму и записывает ее в глобальную переменную three, переводит каждое слагаемое и сумму в римскую запись и печатает их, как показано в примере.

Формат ввода

one = 5

two = 4

roman()

Формат вывода

V + IV = IX

-----------------------------------------------------------------

вот мой код, но вылазит ошибка - Глобальная переменная three не равна сумме one и two

Как исправить?

CONV_TABLE = ((1000, 'M'), (900, 'CM'), (500, 'D'), (400, 'CD'),

(100, 'C'), (90, 'XC'), (50, 'L'), (40, 'XL'),

(10, 'X'), (9, 'IX'), (5, 'V'), (4, 'IV'), (1, 'I'))

def arab_to_roman(number):

if number <= 0:

return ''

ret = ''

for arab, roman in CONV_TABLE:

while number >= arab:

ret += roman

number -= arab

return ret

def roman_to_arab(txt):

txt = txt.upper()

ret = 0

for arab, roman in CONV_TABLE:

while txt.startswith(roman):

ret += arab

txt = txt[len(roman):]

return ret

def roman():

global one

global two

global three

three = '{} + {} = {}'.format(arab_to_roman(one), arab_to_roman(two), arab_to_roman(one + two))

print(three)

129
215
Посмотреть ответы 1

Ответы на вопрос:

Nikitymba
4,8(74 оценок)

#include < iostream>   using namespace std   int main() { int a cout< < " введи число" cin> > a if (a=5) { cout< < "a=5" eiso cout< < "a< > 5"   return 0 }

Популярно: Информатика