ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Algoritmo Python, Romanos a decimales


Enviado por   •  27 de Noviembre de 2015  •  Trabajo  •  288 Palabras (2 Páginas)  •  230 Visitas

Página 1 de 2

#Numeros romanos a arabicos en una funcion

def rom_Arab():

#Asignacion de variables

M = 1000

D = 500

C = 100

L = 50

X = 10

V = 5

I = 1

actual = 0

anterior = 0

total = 0

#ENTRADA

roman = input("Ingrese un numero romano en mayusculas: ")

#CICLO: incrementarse el numero de caracteres que tiene lo que introdjo el usuario

for i in range(len(roman)):

#Asigna la letra en la posicion i

letra = roman[i]

#Compara cada caso de letra

# Si le antecede algo mayor simplemente se suma a ese

# Si le antecede alguien menor, ese que le antecede se le resta, sumandose al

# resultado pasado y restandole denuevo el anterior ya que se habia

# sumado antes.

if (letra == "M"):

actual = M

if (anterior > actual):

total = total + actual

elif (anterior < actual):

total = total + (actual - anterior) - anterior

if (letra == "D"):

actual = D

if (anterior > actual):

total = total + actual

elif (anterior < actual):

total = total + (actual - anterior) - anterior

if (letra == "C"):

actual = C

if (anterior > actual):

total = total + actual

elif (anterior < actual):

total = total + (actual - anterior) - anterior

if (letra == "L"):

actual = L

if (anterior > actual):

total = total + actual

elif (anterior < actual):

total = total + (actual - anterior) - anterior

if (letra == "X"):

actual = X

if (anterior > actual):

total = total + actual

elif (anterior < actual):

total = total + (actual - anterior) - anterior

if (letra == "V"):

actual = V

if (anterior > actual):

total = total + actual

elif (anterior < actual):

total = total + (actual - anterior) - anterior

if (letra == "I"):

actual = I

if (anterior > actual):

total = total + actual

elif (anterior < actual):

total = total + (actual - anterior) - anterior

#Ahora el anterior toma el valor que tiene el actual para comparar el siguiente par

anterior= actual

#Muestra el resultado

print(roman , " es a ", str(total), " en sistema decimal.")

rom_Arab()

...

Descargar como (para miembros actualizados) txt (2 Kb) pdf (37 Kb) docx (11 Kb)
Leer 1 página más »
Disponible sólo en Clubensayos.com