Python permite un sin fin de ejercicios y programas que nunca habías pensado que se podrían resolver desde el pensamiento computacional. Por eso, ejercicios sobre cómo sumar dos números romanos en Python van muy bien para cuando quieras empezar a perfeccionar tus habilidades.
En otros post hemos hablado de jugar con los números romanos en Python, como la conversión de posición de entero a número romano en Python o las restricciones para convertir un número romano a un número entero. Ahora, en este post, te contaremos cómo sumar dos números romanos en Python.
Método _ _ add _ _
Según la documentación de Python, el método _ _ add _ _ funciona con el operador de suma +, donde los parámetros que se ingresan a la función serían operandos, es decir, el primer parámetro es primer operando y el segundo parámetro es segundo operando.
Para conocer cómo funciona, puedes observar el siguiente ejemplo sobre cómo sumar dos números romanos en Python.
Cómo sumar dos números romanos en Python
- Primero defines la clase suma.
- El primer operador siempre es self y tienes que comprobar que el segundo operador sea un número romano. El primero seguro que es número romano porque se saca de una clase de números romanos que ya habías definido anteriormente. Esta será la clase RomanNumber. Para comprobar que sea un número romano, utilizas el módulo isinstance, después de levantar una restricción para cuando no se agrega un objeto de la clase RomanNumber.
- A continuación podrás escribir una instrucción para la suma. Ten en cuenta que el “valor” se saca en la construcción de la clase de RomanNumber. La suma la definimos para tres ocasiones: para sumar un número romano con un número romano, para sumar un número romano con un entero y para sumar un número romano con una cadena.
Los pasos ejecutados se verían de la siguiente forma:
def _ _ add _ _ (self, sumando)
#para sumar RomanNumber más un RomanNumber
if isinstance (sumando, RomanNumber):
return self.valor + sumando.valor
#para sumar un RomanNumber más un entero
if instance (sumando, int):
return self.valor + sumando
#para sumar un RomanNumber con una cadena
if instance ( sumando, str)
#instancia de la clase RomanNumber que se convierte en un objeto RomanNumber y ese objeto RomanNumber tiene una propiedad que es valor, de tipo entero. Ahí lo estás convirtiendo en número entero.
return self.valor + RomanNumber (sumando).valor
raise ValueError (f"{sumando} debe ser un RomanNumber}")
Si lo pruebas quedaría algo así:
#lo que ingresas a la consola
siete + 'VII'
#el resultado
>> 14
Ahora que sabes cómo sumar dos números romanos en Python con el método add, debes seguir practicando tus habilidades para perfeccionar tus conocimientos en lenguajes de programación. Si necesitas más ejercicios para seguir aprendiendo sobre Python y, además, alguien que te guíe en el proceso, te recomendamos apuntarte a nuestro Bootcamp Aprende a Programar desde Cero. ¡Inscríbete y sigue aprendiendo!