wordpress

Convert Roman Number to Decimal | Python Program

Los números romanos son un sistema numérico antiguo que se utilizaba en la antigua Roma. Aunque ya no se utiliza en la vida cotidiana, todavía se encuentra en algunos contextos, como en los relojes y en los títulos de los papas. Los números romanos se representan utilizando letras mayúsculas, como I, V, X, L, C, D y M, que corresponden a los valores 1, 5, 10, 50, 100, 500 y 1000 respectivamente.

En este artículo, aprenderemos a convertir números romanos a enteros decimales utilizando un programa en Python. El programa tomará un número romano como entrada y devolverá su equivalente decimal.

Algoritmo

El algoritmo para convertir un número romano a decimal es bastante sencillo. Aquí está el paso a paso:

  1. Asigna valores a cada letra romana: I=1, V=5, X=10, L=50, C=100, D=500, M=1000.
  2. Inicializa una variable llamada «decimal» a cero.
  3. Recorre el número romano de izquierda a derecha.
  4. Si el valor de la letra actual es menor que el valor de la siguiente letra, resta el valor de la letra actual de la variable «decimal».
  5. Si el valor de la letra actual es mayor o igual que el valor de la siguiente letra, suma el valor de la letra actual a la variable «decimal».
  6. Al final del recorrido, la variable «decimal» contendrá el valor decimal equivalente al número romano.

Implementación en Python

A continuación se muestra la implementación en Python del programa para convertir números romanos a enteros decimales:

«`python
def roman_to_decimal(roman):
roman_values = {‘I’: 1, ‘V’: 5, ‘X’: 10, ‘L’: 50, ‘C’: 100, ‘D’: 500, ‘M’: 1000}
decimal = 0
for i in range(len(roman)):
if i < len(roman) - 1 and roman_values[roman[i]] < roman_values[roman[i+1]]: decimal -= roman_values[roman[i]] else: decimal += roman_values[roman[i]] return decimal ```

Recomendado:  Python sorted reverse: Cómo ordenar una lista en orden inverso

En esta implementación, utilizamos un diccionario llamado «roman_values» para asignar valores a cada letra romana. Luego, inicializamos la variable «decimal» a cero y recorremos el número romano de izquierda a derecha. Si el valor de la letra actual es menor que el valor de la siguiente letra, restamos el valor de la letra actual de la variable «decimal». De lo contrario, sumamos el valor de la letra actual a la variable «decimal». Al final del recorrido, devolvemos el valor de la variable «decimal».

Ejemplos de uso

A continuación se muestran algunos ejemplos de uso del programa:

«`python
print(roman_to_decimal(‘IV’)) # Output: 4
print(roman_to_decimal(‘IX’)) # Output: 9
print(roman_to_decimal(‘XL’)) # Output: 40
print(roman_to_decimal(‘XC’)) # Output: 90
print(roman_to_decimal(‘CD’)) # Output: 400
print(roman_to_decimal(‘CM’)) # Output: 900
print(roman_to_decimal(‘MCMXCIX’)) # Output: 1999
«`

En estos ejemplos, pasamos diferentes números romanos al programa y obtenemos su equivalente decimal como resultado.

Conclusión

En este artículo, hemos aprendido a convertir números romanos a enteros decimales utilizando un programa en Python. Hemos discutido el algoritmo necesario para realizar esta conversión y hemos proporcionado una implementación en Python. También hemos mostrado algunos ejemplos de uso del programa. Ahora puedes utilizar este programa para convertir números romanos a enteros decimales de manera rápida y sencilla.

Autor

osceda@hotmail.com

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *