No video

Curso Python 3 desde cero

Curso de programación Python 3 desde cero - En esta entrega del curso de programación Python desde cero, realizaremos el quinto proyecto final de este curso.
En este proyecto realizaremos un programa que permita convertir un número romano a su equivalente en números enteros, con las siguientes especificaciones:
• El programa deberá solicitar al usuario que ingrese un número romano.
¡¡Ayúdame a seguir creciendo, te invito a suscribirte!!
La Geekipedia de Ernesto
➞ Facebook / lageekipediadeernesto
➞ Instagram / lageekipedia
➞ Twitter / lageekipedia
═════════════════════════════════════════
¿Te gustaría que este contenido siga siendo gratuito?, puedes apoyar al canal de las siguientes maneras:
➞ Donaciones: www.paypal.me/LaGeekipedia
➞ Desactivando Adblock y Adblock Plus en KZread.
➞ Compartiendo los vídeos del canal en foros y redes sociales.
➞ Con tu suscripción, comentando o un like.
Cualquier opción es de gran ayuda. ¡Muchas gracias!
═════════════════════════════════════════
• Descarga del programa: mega.nz/file/oJ5FiQxb#6xWmB9Q...
═════════════════════════════════════════
Todos mis cursos:
➞ Curso de programación para el desarrollo de lógica:
• Curso de programación ...
➞ Curso de programación Python desde cero:
• Curso de programación ...
➞ Curso de programación Java desde cero:
• Curso de programación ...
➞ Curso de programación Java intermedio:
• Curso de programación ...
➞ Curso de programación Android desde cero:
• Curso de programación ...

Пікірлер: 15

  • @juan_ortega23
    @juan_ortega232 ай бұрын

    Aguante La Geekipedia De Ernesto, el mejor curso de Python en youtube. Saludos desde Argentina, gracias profe

  • @Angel-mq2ev
    @Angel-mq2ev5 ай бұрын

    Siempre agradecido Ernesto por este curso y estos proyectos finales. En mi caso, la lógica de la programación del algoritmo, se me hizo algo más complicada que el ejercicio anterior. No se me ocurrió invertir el número romano introducido, y lo que hago es ir sumando los valores y, si llegamos a una letra con valor mayor que el anterior, resto lo sumado anteriormente por dos para convertirlo a resta :-) Añadí un conjunto con las letras válidas para hacer validación con lo que aprendimos de subconjuntos. Mi código quedó así... equivalencias = {"M": 1000, "D": 500, "C": 100, "L": 50, "X": 10, "V": 5, "I": 1} romano_valido = {"M", "D", "C", "L", "X", "V", "I"} try: romano = input("Ingresa un número romano para convertirlo a entero: ").upper() entero = equivalencias[romano[0]] if set(romano) = equivalencias[romano[posicion+1]] : entero += equivalencias[romano[posicion+1]] else: entero = entero - equivalencias[romano[posicion]]*2 + equivalencias[romano[posicion+1]] print("Resultado:", entero) else: print("El número ingresado debe ser un número romano.") except Exception as e: print("Ingresa un número romano válido:", e)

  • @alejandrotorresvalverde4096
    @alejandrotorresvalverde40968 ай бұрын

    Muchas gracias

  • @polar2678
    @polar26788 ай бұрын

    Por suerte este es un problema de Leetcode que ya había hecho hace tiempo jaja, aquí mi solución: . . . # Python 3.12.0 class Solution(object): def romanToInt(self, s: str): new_num = 0 units = { "I": 1, "V": 5, "IV": 4, "X": 10, "IX": 9, "L": 50, "XL": 40, "C": 100, "XC": 90, "D": 500, "CD": 400, "M": 1000, "CM": 900 } while s: for k, v in reversed(units.items()): if s.startswith(k): new_num += v s = s[len(k):] break return new_num print("Resultado:", Solution().romanToInt(input("Escribe un número romano para convertirlo a entero: ").upper()))

  • @Rokko-
    @Rokko-8 ай бұрын

    Si ingresas iiv te devuelve 5, habría que corregirlo.

  • @sofyhernandez2652

    @sofyhernandez2652

    8 ай бұрын

    Qué número romano es ese "iiv"? :/

  • @Rokko-

    @Rokko-

    8 ай бұрын

    @@sofyhernandez2652 justamente ninguno, por lo tanto debió rechazarlo el mismo programa

  • @Juststudy-cc4ow
    @Juststudy-cc4ow6 ай бұрын

    Tarde casi 7 horas pero ahora tengo un convertidor de numeros romanos que te da un mensaje de error cada vez que quieras colocar algo que no sea un numero romano y tambien si quieres colocar un numero romano invalido algo asi como XXXX y ademas convierte en mayusculas el input en minusculas aqui esta el codigo. resultado = 0 error = 0 ee_ = 0 print("Este programa convertiralos numeros romanos en numeros Actuales " "Pero solo aceptamos los numeros desde el 1 hasta el 3999") print() a = input("Escribe el numero que quieras convertir: ") a = a.upper() m = a.count("M") em = a.count("CM") d = a.count("D") ed = a.count("CD") c = a.count("C") ec = a.count("XC") el = a.count("L") eu = a.count("XL") x = a.count("X") xi = a.count("IX") v = a.count("V") uv = a.count("IV") u = a.count("I") for caracter in a: ee_ += 1 if ee_ > 1: ee_ -= em ee_ -= m ee_ -= d ee_ -= ed ee_ -= c ee_ -= ec ee_ -= el ee_ -= eu ee_ -= x ee_ -= xi ee_ -= uv ee_ -= u error += ee_ if em == 1: c -= 1 x -= 1 if em == 1: m -= 1 if c == 1 and m == 1: c -= 1 if ed == 1 and d == 1: d -= 1 if ed == 1 and c == 1: c -= 1 if ec == 1: c -= 1 x =- 1 if el == 1 and eu == 1: el -= 1 if eu == 1 and x == 1: x -= 1 if x == 1 and xi == 1: x -= 1 if xi == 1: u -= 1 if x == 1 and ec == 1: x -=1 if u == 1 and uv == 1: u -= 1 if v == 1 and uv == 1: v -=1 s = 0 try: if m > 0 and m s = 0 while s s += 1 resultado += 1000 if em == 1: resultado += 900 if ed == 1: resultado += 400 if d == 1: resultado += 500 if c > 0 and c s = 0 while s s += 1 resultado += 100 if ec == 1: resultado += 90 if el == 1: resultado += 50 if eu == 1: resultado += 40 if x > 0 and x s = 0 while s s += 1 resultado += 10 if xi == 1: resultado += 9 if v == 1: resultado += 5 if uv == 1: resultado += 4 if u > 0 and u s = 0 while s s += 1 resultado += 1 if eu > 1 or el > 1 or uv > 1 or xi > 1 or ec > 1 or d > 1 or ed > 1 or em > 1: error += 1 elif u > 3 or x > 3 or c > 3 or m > 3: error += 1 except ValueError: print("Lo sentimos solo se permiten valores tipo String") if error > 0: print("Lo sentimos a sucedido un error, aparentemente no has ingresado un numero romano valido") elif error == 0: print(resultado)

  • @Juststudy-cc4ow

    @Juststudy-cc4ow

    6 ай бұрын

    el codigo que quedo cuando lo empeze a reducir resultado = 0 error = 0 print("Este programa convertirá los números romanos en números actuales " "Pero solo aceptamos los números desde el 1 hasta el 3999") print() try: a = input("Escribe el número que quieras convertir: ").upper() valores_romanos = {'M': 1000, 'CM': 900, 'D': 500, 'CD': 400, 'C': 100, 'XC': 90, 'L': 50, 'XL': 40, 'X': 10, 'IX': 9, 'V': 5, 'IV': 4, 'I': 1} for simbolo, valor in valores_romanos.items(): cantidad = a.count(simbolo) resultado += cantidad * valor a = a.replace(simbolo, "") if a: error += 1 elif resultado 3999: error += 1 except ValueError: print("Lo sentimos solo se permiten valores tipo String") if error > 0: print("Lo sentimos ha ocurrido un error, parece que no has ingresado un número romano válido.") else: print(resultado)

  • @Jesus-hl8gj
    @Jesus-hl8gj7 ай бұрын

    Aquí mi solución. Curiosamente se me hizo más fácil que el de convertir un entero a romano xd numero = input("Ingresa un número romano para convertirlo a entero: ").upper() entero = 0 temp = 0 for x in numero: if x == 'I': n = 1 elif x == 'V': n = 5 elif x == 'X': n = 10 elif x == 'L': n = 50 elif x == 'C': n = 100 elif x == 'D': n = 500 elif x == 'M': n = 1000 if temp entero -= temp n = n - temp entero += n else: entero += n temp = n print(entero)

  • @fernandoarroyo8935
    @fernandoarroyo89357 ай бұрын

    Comparto el programa más simplificado al anterior. Me divierte resolver estos acertijos. Saludos. Vamos ver como lo resolvió nuestro profe. Saludos compañeros. print(" PROGRAMA CONVERTIDOR DE NÚMEROS ROMANOS A DECIMALES ".center(100,"*")) print(" Ingresa un número Romano para hacer su conversión a número decimal") total = 0 num_correcto = "" num_usuario = input("¿Cúal es el numero Romano que deseas convertir?: ").upper() romanos = {0:{"MMM":3000, "MM":2000, "M":1000 }, 1:{"CM":900, "DCCC":800, "DCC":700, "DC":600, "D":500, "CD":400, "CCC":300, "CC":200, "C":100 }, 2:{"XC":90, "LXXX":80, "LXX":70, "LX":60, "L":50, "XL":40, "XXX":30, "XX":20, "X":10 }, 3:{"IX":9, "VIII":8, "VII":7, "VI":6, "V":5, "IV":4, "III":3, "II":2, "I":1, } } try: for cont in romanos: for key, value in romanos[cont].items(): if num_usuario.startswith(key): total += value num_usuario = num_usuario[len(key):] num_correcto += key break if len(num_usuario) == 0: print(f"El número Romano {num_correcto} en número decimal es: {total}") else: print("El dato proporcinado no es un número Romano, favor de verificar") except ValueError as ve: print("El dato proporcinado no es un número Romano, favor de verificar") except Exception as e: print(f"Estamos trabajando para resolver este error, {e}")