Предмет: Информатика, автор: kirillregetsiy

СРОЧНО, кто знает python, 50 баллов
нужно написать программу, переводящую число от 1 до 3999 в римское число

Формат ввода
Вводится целое число в десятичной системе счисления от 1 до 3999.

Формат вывода
Вывести это число, переведенное в римскую систему счисления.


kirillregetsiy: желательно использовать словари в питоне
jerrymynigga: ооо, такое я делал

Ответы

Автор ответа: jerrymynigga
1

Ответ:

n = int(input('Введите натуральное число, не превышающее 10000: '))

def perevod_rim(rimskie):

   t = ['','M','MM','MMM','MMMM','MMMMM','MMMMMM','MMMMMMM','MMMMMMMM','MMMMMMMMM']

   s = ['', 'C','C','C','CD','D','DC','DCC','DCCC','CM']

   d = ['', 'X','XX','XXX','XL','L','LX','LXX','LXXX','XC']

   e = ['', 'I','II','III','IV','V','VI','VII','VIII','IX']

   tes = t[rimskie//1000]

   sot = s[(rimskie//100)%10]

   des = d[(rimskie//10)%10]

   ed =  e[rimskie%10]

   print(tes+sot+des+ed)

perevod_rim(n)


kirillregetsiy: Спасибо, а можете без дефа пж?
jerrymynigga: Можно. Дефф убираешь)
kirillregetsiy: чето не работает, а можешь програму написать? оч надо
jerrymynigga: Что у тебя не работает?
jerrymynigga: n = int(input('Введите натуральное число, не превышающее 10000: '))
t = ['','M','MM','MMM','MMMM','MMMMM','MMMMMM','MMMMMMM','MMMMMMMM','MMMMMMMMM']
s = ['', 'C','C','C','CD','D','DC','DCC','DCCC','CM']
d = ['', 'X','XX','XXX','XL','L','LX','LXX','LXXX','XC']
e = ['', 'I','II','III','IV','V','VI','VII','VIII','IX']
tes = t[n//1000]
sot = s[(n//100)%10]
des = d[(n//10)%10]
ed = e[n%10]
print(tes+sot+des+ed)
kirillregetsiy: большое спасибо
Интересные вопросы
Предмет: Окружающий мир, автор: ОстроуховаЮлия