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 cuarto proyecto final de este curso.
En este proyecto realizaremos un programa que permita convertir un número entero a su equivalente en números romanos, con las siguientes especificaciones:
• El programa deberá solicitar al usuario que ingrese un número entero.
• El programa solo aceptara números enteros en un rango entre 1 y 3999.
¡¡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/UdB1lCIT#FaegZUm...
═════════════════════════════════════════
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 ...

Пікірлер: 22

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

    Muchas gracias Ernesto!! Estos ejercicios prácticos y proyectos finales ayudan mucho a desarrollar la lógica de programación con lo que hemos ido aprendiendo a lo largo del curso. Contento de haber llegado en este caso a una solución muy similar a la tuya. Pongo a continuación la solución que había propuesto yo... romano = [("", "M", "MM", "MMM"), ("", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"), ("", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"), ("", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"),] try: entero = int(input("Ingresa un número entero para convertirlo a romano: ")) if 0 millar = entero // 1000 centena = entero % 1000 // 100 decena = entero % 100 // 10 unidad = entero % 10 print(romano[0][millar] + romano[1][centena] + romano[2][decena] + romano[3][unidad]) else: print("El número ingresado debe estar en un rango entre 1 y 3999") except ValueError: print("Debes ingresas un valor entero.") except Exception as e: print("Valor no válido: ", e)

  • @raquelleal6986
    @raquelleal69867 ай бұрын

    Hola Ernesto, excelentes tus videos, me han ayudado muchísimo. Comparto mi solución para este ejercicio: dict_rom_inv ={1000:"M",900:"CM",500:"D",400:"CD",100:"C",90:"XC",50:"L",40:"XL",10:"X",9:"IX",5:"V",4:"IV",3:"III",2:"II",1:"I"} try: num = int(input("Ingresa un número entero para convertirlo a romano: ")) if 1

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

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

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

    Muchas gracias

  • @kevinjulianvilamanrique5388
    @kevinjulianvilamanrique53887 ай бұрын

    Ya lo hice. estuvo muy bueno, gracias. (Lo hace ver tan fácil :( ) romanos = "MCXI" romanos_medio = "_DLV" valor = input("Ingresa un número entero para convertirlo a romano: ") equivalencia = "" try: if len(valor) for _ in range(4-len(valor)): valor = "0" + valor if int(valor) in range(1,4000): contador = -1 for x in valor: if int(x) == 0: contador += 1 continue elif int(x) in range(1,4): contador += 1 p = romanos[contador] for _ in range(int(x)): equivalencia += p elif int(x) in range(4,9): contador += 1 p = romanos[contador] m = romanos_medio[contador] if int(x) == 4: equivalencia += p equivalencia += m elif int(x) == 5: equivalencia += m else: equivalencia += m for _ in range(int(x)-5): equivalencia += p else: contador += 1 p = romanos[contador] p1 = romanos[contador-1] print(equivalencia) else: print("El número ingresado debe de estar en unn rango entre 1 y 3999") except Exception: print("Debes de ingresar un valor entero")

  • @HectorGonzales-be8bd
    @HectorGonzales-be8bd8 ай бұрын

    Buen video, como todos.

  • @A_lone_programmer
    @A_lone_programmer8 ай бұрын

    Al final lo hice pero tuve que usar una parte de la alternativa que tú ofreciste, al parecer fue mal haber subestimado este proyecto, y yo decia que era fácil, pero aún así me gustó. ;'p ❤

  • @tomasfernandez3645
    @tomasfernandez3645Ай бұрын

    Al principio se me ocurrio una forma parecida a la que tu hiciste, pero me parecio muy fácil, asi que lo cambio a uno un poco más complejo try: a = int(input("Ingrese un numero entero para convertirlo a romano: ")) u = {1000: 'M', 500: 'D', 100: 'C', 50: 'L', 10: 'X', 5: 'V', 1: 'I', } nu = list(u.items()) li = a resul = 0 b = 0 if a > 3999 or a print("el numero ingresado debe estar en un rango entre 1 y 3999") else: for i in range(len(nu)): if (li + 1) in u or (li + 10) in u or (li + 100) in u or b > 3: for o in range(len(nu) - 1, 0, -2): r = nu[o][1] if nu[o][0] for t in range(nu.index(nu[o]) - 2, nu.index(nu[o])): if nu[t][0] > li and nu[t + 1][0] print(f"{r}{nu[t][1]}", end="") resul = nu[t][0] - nu[o][0] else: continue li = li - resul if li == 0: break b = int(li / nu[i][0]) if b 3: continue if li > 90 and li continue for e in range(b): print(nu[i][1], end="") li = li - (b * nu[i][0]) except ValueError: print("debe ingresar un valor entero")

  • @EDAN1351
    @EDAN13518 ай бұрын

    se me cocino el cerebro pensando en todo para que el programa funcione y despues de ver el video me di cuenta que era una tonteria, aun asi les mando todo lo que hice para llegar al mismo resultado num = list(input("introduce un numero para pasar a romano: ")) try: num = [int(i) for i in num] indice = int(len(num)) roma = "" for n in num: if indice == 4: if n for i in range(1, n + 1): roma += "M" else: print("solo se permiten numeros de el 1 hasta el 3999") break elif indice == 3: if n for c in range(1, n + 1): roma += "C" elif n == 4: roma += "CD" elif n > 4 and n roma += "D" if n > 5: for d in range(6, n + 1): roma += "C" elif n == 9: roma += "CM" elif indice == 2: if n for dc in range(1, n + 1): roma += "X" elif n == 4: roma += "XL" elif n > 4 and n roma += "L" if n > 5: for dc in range(6, n + 1): roma += "X" elif n == 9: roma += "XC" elif indice == 1: if n for u in range(1, n + 1): roma += "I" elif n == 4: roma += "IV" elif n > 4 and n roma += "V" if n > 5: for u in range(6, n + 1): roma += "I" elif n == 9: roma += "IX" indice -= 1 print(roma) except ValueError: print("solo se admiten numeros enteros")

  • @EDAN1351

    @EDAN1351

    8 ай бұрын

    me olvide copiar el ultimo except

  • @emmanuelbrayamjuradoyauri2481
    @emmanuelbrayamjuradoyauri248113 күн бұрын

    Me resulto dificil pero no me espera ese método que mostraste, aun asi mi idea era hacerlo compacto, les comparto haber que les parece num=input("Ingrese un numero entero: ") num=[int(char) for char in num] ro={1:"I",5:"V",10:"X",50:"L",100:"C",500:"D",1000:"M"} r=[0,5,10] for i in range(len(num)): for n in r: if num[i]==0: break if abs(num[i]-n)0: c3=(num[i]-n)*c2 c1=c1+c3 if num[i]-n

  • @luisdiegoseverino5676
    @luisdiegoseverino56768 ай бұрын

    no entiendo porque dice unidades de millon si son millar; miles, no son millones.....

  • @BrianHazel
    @BrianHazelАй бұрын

    try: numero = int(input("Ingresa un numero entero para convertir a romano: ")) romano = "" if 0 numero = str(numero) serie = "123456789" longitud = len(numero) for ind, i in enumerate(numero): if i in serie: pos = longitud - ind if pos == 4: i = int(i) romano = "M" * i elif pos == 3: i = int(i) if i romano += "C" * i elif i == 4: romano += "CD" elif i == 5: romano += "D" elif 5 i = i - 5 romano += "D" + "C" * i elif i == 9: romano += "CM" elif pos == 2: i = int(i) if i romano += "X" * i elif i == 4: romano += "XL" elif i == 5: romano += "L" elif 5 i = i - 5 romano += "L" + "X" * i elif i == 9: romano += "XC" elif pos == 1: i = int(i) if i romano += "I" * i elif i == 4: romano += "IV" elif i == 5: romano += "V" elif 5 i = i - 5 romano += "V" + "I" * i elif i == 9: romano += "IX" else: print("El número ingresado debe de estar en un rango entre 1 y 3999") print(romano) except Exception as error: print("Debes ingresar un numero entero. ", error)

  • @miguelparedes1822
    @miguelparedes18225 ай бұрын

    Mi solución: print(" BIENVENIDO AL PROGRAMA QUE TRANSFORMA NÚMEROS ENTEROS EN NÚMEROS ROMANOS: ") salir = 0 while salir == 0: try: print("Menu: ") opcion = int (input(" '1'- Ingresar un número '2'- Finalizar el programa. \tSu opcion: ")) except ValueError as ve: print(" \tDebe ingresar un número entero. ") except Exception as e: print(" \tDebe ingresar un número entero. ") else: if opcion ==1: try: num = int (input("Ingrese un numero entero entre 1 - 3999: ")) except ValueError as ve: print(" \tDebe ingresar un número entero. ") except Exception as e: print(" \tDebe ingresar un número entero. ") else: if num 3999: print(" \tIngrese un número entre 1 y 3999. ") else: unidades = {0: "", 1: "I", 2: "II", 3: "III", 4: "IV", 5: "V", 6: "VI", 7: "VII", 8: "VIII", 9: "IX"} decenas = {0: "", 10: "X", 20: "XX", 30: "XXX", 40: "XL", 50: "L", 60: "LX", 70: "LXX", 80: "LXXX", 90: "XC" } centenas = { 0: "", 100: "C", 200: "CC", 300: "CCC", 400: "CD", 500: "D", 600: "DC", 700: "DCC", 800: "DCCC", 900: "CM"} milares = { 0: "", 1000: "M", 2000: "MM", 3000: "MMM"} aux_milar = num % 1000 milar = num - aux_milar aux_centena = aux_milar % 100 centena = aux_milar - aux_centena aux_decena = aux_centena % 10 decena = aux_centena - aux_decena unidad = aux_decena print(f"Equivalente a número romano: {milares[milar]}{centenas[centena]}{decenas[decena]}{unidades[unidad]} ") salir =0 else: salir = 1 print(" Fin del programa.")

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

    Despues de 7 horas termine, sinceramente deberia practicar mas con las funciones matematicas de python, numerosRomanos = {1: "I", 2: "II", 3: "III", 4: "IV", 5: "V", 9: "IX", 10: "X", 40: "XL", 50: "L", 90: "XC", 100: "C", 200: "CC", 300: "CCC", 400: "CD", 500: "D", 900: "CM", 1000: "M", 0: " "} s = 0 try: a = int(input("Ingresa un numero para empezar la conversion ")) b = str(a) c = a e = a if len(b) == 1: if a print(numerosRomanos[a]) if a > 5 and a c -= 5 print(numerosRomanos[5], numerosRomanos[c]) if a == 9: print(numerosRomanos[c]) if len(b) == 2: if a > 9 and a c //= 10 e %= 10 if c while s s += 10 print(numerosRomanos[10], end="") if e > 5 and e e -= 5 print(numerosRomanos[5], numerosRomanos[e]) else: print(numerosRomanos[e]) if a > 39 and a c //= 10 e %= 10 print(numerosRomanos[c*10], end="") if e > 5 and e e -= 5 print(numerosRomanos[5], numerosRomanos[e]) else: print(numerosRomanos[e]) if a >= 50 and a c -= 50 c //= 10 e %= 10 print(numerosRomanos[50], end="") if a >= 60 and a while s s += 10 print(numerosRomanos[10], end="") if e > 5 and e e -= 5 print(numerosRomanos[5], numerosRomanos[e]) else: print(numerosRomanos[e]) if a >= 90 and a e -= 90 print(numerosRomanos[90], end="") if e > 5 and e e -= 5 print(numerosRomanos[5], numerosRomanos[e]) else: print(numerosRomanos[e]) if len(b) == 3: o = a q = c e %= 10 c = o % 100 c //= 10 c = c * 10 q -= c if q > 99 and q print(numerosRomanos[q], end= "") if q > 599 and q q -= 500 print(numerosRomanos[500], numerosRomanos[q], end="") if q >= 900 and q print(numerosRomanos[900], end="") if c > 9 and c s = 0 while s s += 10 print(numerosRomanos[10], end="") if c == 40: print(numerosRomanos[c], end="") if c == 50: print(numerosRomanos[c], end="") if c > 50 and c print(numerosRomanos[50], end="") c -= 50 s = 0 while s s += 10 print(numerosRomanos[10], end="") if c == 90: print(numerosRomanos[c], end="") if e print(numerosRomanos[e]) if e > 5 and e e -= 5 print(numerosRomanos[5], numerosRomanos[e]) if e == 9: print(numerosRomanos[e]) if len(b) == 4: m = a o = a q = c e %= 10 c = o % 100 c //= 10 c = c * 10 q -= c ex = m % 1000 q %= 1000 q -= 5 if m > 999 and m m -= ex s = 0 while s s += 1000 print(numerosRomanos[1000], end="") if q > 99 and q print(numerosRomanos[q], end="") if q > 599 and q print(numerosRomanos[500], end="") s = 0 q -= 500 while s s += 100 print(numerosRomanos[100], end="") if q == 900: print(numerosRomanos[900]) if c > 9 and c s = 0 while s s += 10 print(numerosRomanos[10], end="") if c == 40: print(numerosRomanos[c], end="") if c == 50: print(numerosRomanos[c], end="") if c > 59 and c print(numerosRomanos[50], end="") c -= 50 s = 0 while s s += 10 print(numerosRomanos[10], end="") if c == 90: print(numerosRomanos[c], end="") if e print(numerosRomanos[e], end="") if e > 5 and e print(numerosRomanos[5], end="") e -= 5 print(numerosRomanos[e], end="") if a >= 4000: print("Lo sentimos no tenemos permitido mostrar mas numeros despued del 3999") except ValueError as VE: print("Ha sucedido un error en los valores", VE)

  • @HectorGonzales-be8bd
    @HectorGonzales-be8bd8 ай бұрын

    Es demacioda sinple haz algo mas dificil.

  • @End_lgo

    @End_lgo

    8 ай бұрын

    Pues graba tú тогда, блять😊

  • @LaGeekipediaDeErnesto

    @LaGeekipediaDeErnesto

    8 ай бұрын

    ¡Hola Héctor!, en el canal tengo una play list llamada clases en vivo donde resuelvo problemas de algoritmia. Ahí encontrarás ejercicios más avanzados donde podrás poner a prueba tus conocimientos intentado resolver los ejercicios propuestos en el lenguaje de programación Python.