In [1]:
romanos = [(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')]

numero = int(input('Número: '))
if numero > 3999:
    print('Número muito grande para representarmos!')
else:
    res = ''
    while numero > 0:
        # (n,s) 
        # n = Numeros e s = Strings - Os valores estão vindo em tublas
        # Pares de valores
        for (n,s) in romanos:
            if numero >= n:
                numero -= n
                res += s
                break
    print(res)
    
#Exemplo de Fluxo - Exemplo

#Entrada: 2599
# 2599 - 1000 = 1599 (M)
# 1599 - 1000 = 599 (M)
# 599 - 500 = 99 (D)
# 99 - 90 = 9 (XC)
# 9 - 9 = 0 (IX)

#Resultado de Saída: MMDXCIX


Número: 2599
MMDXCIX