s2Eva_IT2011_T4 Números Romanos a Decimal

Propuesta de solución en Python: py_pdf, también en versión matlab: m_pdf

# ICM00794-Fundamentos de Computación - FCNM-ESPOL
# 2da Evaluación I Término 2011
# Tema 4. romano a decimal
# propuesta: edelros@espol.edu.ec

cadena=input('numero en romano: ')

romano='IVXLCDM'
decimal=[1,5,10,50,100,500,1000]
cadena=cadena.upper()
n=len(cadena)
#cambia a equivalentes decimales
equivale=[]
i=0
while (i<n):
    #busca en romano
    j=0
    while (j<7):
        if (cadena[i]==romano[j]):
            equivale.append(decimal[j])
        j=j+1
    i=i+1
#Revisa signos y acumula
suma=0
i=0
while (i<(n-1)):
    if (equivale[i]<equivale[i+1]):
        equivale[i]=-equivale[i]
    suma=suma+equivale[i]
    i=i+1
suma=suma+equivale[n-1]

print(suma)