Restricciones para crear una función de romano a entero en Python

Autor: | Última modificación: 12 de marzo de 2024 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

Algunos de nuestros reconocimientos:

Premios KeepCoding

Si bien siempre estás plasmando tus conocimientos sobre programación en la consola y con un lenguaje de programación, la lógica matemática o del sentido general fundamenta los códigos que escribes. Por tanto, en esta ocasión, queremos hablar de las restricciones para crear una función de romano a entero en Python.

En posts anteriores te hemos contado el proceso de cómo pasar un número entero a un número romano, pero ahora la situación es al revés. Sin embargo, te daremos las restricciones para crear una función de romano a entero en Python, para que las puedas plasmar en un proyecto de código.

Función de romano a entero en Python

La función que involucra la conversión de un número romano a un número entero debe integrar preguntas acerca de cómo recorrer la cadena, de convertir una letra (de los numeros romanos python ) a su valor correspondiente, de las operaciones matemáticas de suma y resta, qué se hace para lograr construir los números en romano.

Por ejemplo, sumar los valores si en la izquierda hay un dígito mayor que a la derecha, como VI o, por otro lado, restar si el valor de la izquierda es menor que el de la derecha, como el número romano IX. Aun así, todas estos procesos y operaciones deben pensarse en un esquema donde se validen muchas restricciones. A continuación, te contaremos algunas de estas restricciones para crear una función de romano a entero en Python.

Restricciones para crear la función

Una de las restricciones más generales que aparecen tanto en las funciones de entero a romano, como de romano a entero, es que tiene que ser un número entero positivo que esté en el rango entre los números 0 y 3999.
Esto pasa porque para números iguales y mayores a 4000, se utiliza un guión encima de los símbolos, aspecto que aunque práctico de utilizar en lenguajes de programación como Python, puede ser más avanzado, por tanto, los mantendremos como una restricción.

Para empezar, cuando tenemos el caso de que un símbolo de los números romanos resta si se pone a la izquierda de otro mayor, hay tres restricciones:

  • No se puede restar ni V, ni D, ni L. Es decir, no pueden ir a la izquierda de un valor mayor.
  • También puede pasar una repetición de símbolos; en este caso, la restricción es que no se admiten repeticiones en símbolos a cuya derecha hay símbolos de mayor valor.
  • Otra de las restricciones es que, si bien es posible poner un símbolo de menor valor en la parte izquierda de otro, siempre debe ser cuando no les separe más de un orden de magnitud. Por ejemplo, el número IC, es decir, el 99. Este número no es válido, ya que 1 y 100 están separados por dos órdenes de magnitud.
    Es decir, en términos de números romanos, a 100 solamente se les puede restar 100 y no le puedes restar 1. A 1000 no les puedes restar ni 1 ni 10, solo le puedes restar 100.

De esta manera, ya conoces algunas restricciones para crear una función de romano a entero en Python, por lo que puedes ir practicando teniendo en cuenta estos escenarios.

Conoces más ejercicios en Python

🔴 ¿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

Si bien ya sabes cuáles son las restricciones para crear una función de romano a entero en Python, aún no sabes cómo poder crear la función para convertir números romanos en números enteros. Por eso, creemos importante que ejercites tanto tu lógica matemática como tu pensamiento computacional con un profesor experimentado que te acompañe. Te recomendamos echarle un vistazo al programa del Bootcamp Aprende a Programar desde Cero, con el que podrás perfeccionar tus conocimientos. ¡Apúntate y sigue aprendiendo!

¡CONVOCATORIA ABIERTA!

Aprende a Programar desde Cero

Full Stack Jr. Bootcamp

Apúntate y consigue uno de los perfiles más demandados con Python, Java y Spring Boot en solo 6 meses.