Conversión de posición a número romano en Python

Autor: | Última modificación: 22 de junio de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

Jugar con las herramientas de Python es una gran forma de prácticar y afianzar tus conocimientos en el lenguaje de programación y en el pensamiento computacional. Hacer ejercicios, por ejemplo, de la conversión de posición a número romano en Python es muy fructífero, pues hará que pienses tanto lógicamente como computacionalmente, aspecto que deberás perfeccionar en el camino por la programación. Por tanto, en este post, te queremos acompañar en el camino de cómo hacer la conversión de posición a número romano en Python.

Conversión de posición a número romano en Python

En un post pasado de KeepCoding te contamos cómo descomponer millares, centenas, decenas y unidades en Python. Esto lo hacíamos teniendo en cuenta las posiciones que tenían las cifras. Este post anterior te puede dar más pautas acerca de lo que aprenderás con este post y, además, deberás integrarlo en este nuevo ejercicio: la conversión de posición a número romano en Python.

Pasos para la conversión de posición a número romano en Python

Primero, deberás tener en cuanto que, como solo manejaremos millares, centenas, decenas y unidades, solo podrás trabajar números del 0 al 3999. De esta forma, podrás empezar a construir la lista, para cada cifra, y así construir un diccionario de conversión.

#diccionario que está compuesto por las listas según las cifras

conversion = {

‘millares’ : [‘ ‘, ‘M’, ‘MMM’],

‘centenas’ : [‘ ‘, ‘C’, ‘CC’, ‘CCC’, ‘CD’, ‘D’, ‘DC’, ‘DCC’, ‘DCCC’, ‘CM’]

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

‘decenas’ : [‘ ‘, ‘X’, ‘XX’, ‘XL’, ‘L’, ‘LX, ‘LXX’, ‘LXXX’, ‘XC’]

‘unidades’ : [‘ ‘, ‘I’, ‘II’, ‘III’, ‘IV’, ‘V’, ‘VI’, ‘VII’, ‘VIII’, ‘IX’]

A su vez, debemos integrar el proceso en el que sacamos la posición de ejercicio anterior en Python. Este proceso es el siguiente:

if len (cadena) >= 4

millares = cadena [-4]

if len (cadena) >= 4

centenas = cadena [-3]

if len (cadena) >= 4

decenas = cadena [-2]

if len (cadena) >= 4

unidades = cadena [-1]
Después de integrar el proceso para sacar la posición de cada cifra, debremos construir otras variables, a las que llamaremos r_unidades, r correspondiendo a los romanos. Lo que se propone hacer en esta variable es acceder a la posición de la cifra por medio de la clave de las listas de nuestro diccionario, que esquematizamos anteriormente.

r_unidades = conversion [‘unidades’][unidades]

r_decenas = conversion [‘decenas’][decenas]

r_centenas = conversion [‘centenas’][centenas]

r_millares = conversion [‘millares’][millares]
Este proceso también lo debemos integrar en la parte de impresión o print de la función.

print (f «{cadena} tiene como valor de millares {r_millares}»)

print (f «{cadena} tiene como valor de centenas {r_centenas}»)

print (f «{cadena} tiene como valor de decenas {r_decenas}»)

print (f «{cadena} tiene como valor de unidades {r_unidades}»)

Después de cumplir estos pasos, podremos ejecutar el programa de la conversión de posición a número romano en Python y asegurarnos de que todo está en su lugar con la respuestas que nos dará. Para ello podremos ingresar un número específico de prueba, como, por ejemplo:

convertir en romano (26)

convertir_en_romano (387)

convertir_en_romano (2786)

#respuesta del programa para 26

26 tiene como valores de millares #como no hay cifra de millares en el número resulta vacío

26 tiene como valores de centenas

26 tiene como valores de decenas XX

26 tiene como valores de decenas VI

#respuesta del programa para 387

387 tiene como valores de millares

387 tiene como valores de centenas CCC

387 tiene como valores de decenas LXXX

387 tiene como valores de unidades VII

#respuesta del programa para 2786

2786 tiene como valores de millares MM

2786 tiene como valores de centenas DCC

2786 tiene como valores de decenas LXXX

2786 tiene como valores de unidades VI

Así es como podemos realizar la conversión de posición a número romano en Python.
Debemos cerciorarnos de que, en cada una de las partes de este proceso, haya una continuación entre los componentes de las variables, es decir, si empezamos a nombrar las unidades en minúscula, todas las variables deben tener el mismo formato para que el programa pueda funcionar.

Conoce qué más puedes hacer en Python

Si bien ya has practiado herramientas y programa en el lenguaje de programación Python, como realizar la conversión de posición a número romano en Python, para dominarlo te queda seguir investigando y practicando por tu parte. No obstante, si consideras que tu forma de aprender mejorar con ayuda de un profesor, de guías teóricas y de ejercicios prácticos, el Bootcamp Aprende a Programar desde Cero es perfecto para ti.

Con un gran enfoque en el lenguaje de programación del momento, Python, podrás estar seguro de que aprenderás muchos conceptos y herramientas para tu camino como programador. ¡No te lo pierdas y apúntate!

[email protected]