✅✅ ✅ ✅ ✅ Todos mis cursos gratuitos 👉 www.pildorasinformaticas.es ✅✅ ✅ ✅ ✅ 🚀 ¿Quieres ejercicios? ¿Quieres más temario? 👉 www.pildorasinformaticas.es/course/python-tutorizado/🚀 🚀 ¿Quieres que te resuelva las dudas de Python👉 www.pildorasinformaticas.es/course/python-tutorizado/ 🚀 💥💥💥 Siempre seguiré subiendo cursos gratuitos por aquí. Gracias a todos por seguirme. 💥💥💥
Que se puede pedir mas, curso completo, bien explicado y sin pagar un euro ojala hubiera mucha gente como tu, las explicaciones son geniales, muchisimas gracias
Excelente!, ·Excelente!, Excelente!,..., Excelente uso del lenguaje, excelente los ejemplos y excelente dominio del tema!. Felicitaciones y continúe creciendo en este excelente canal!
Que buen curso amigo !! Llegue hasta aqui pensando que el tema de Python me iba a costar mas, pero estoy animado. El tema de los generadores es algo novedoso y potente, aunque para mi se entiende perfecto si los piensas como una funcion que guarda su estado y entra en suspension cuando encuentra la instruccion yield en su interior, para luego devolver un valor y retornar al punto siguiente de la llamada. Muy bueno todo hasta aqui ! Saludos desde Argentina, Buenos Aires, Berisso.
Qué buenísimo está el curso; he visto varios cursos porque algunos se me dificulta entenderlos o porque no me convencen los ejemplos que usan pero tu curso me lo recomendó un analista de datos Pablo tabilo y me ha parecido excelente hasta el momento, saludos ✌️
Que barbaro eh alucinado con yield from dado que puedes ingresar a subnivel que quieras para averiguar que tiene llamando desde el objeto que quieras. es como bajar niveles de un edificio. Exelente! muchas gracias por las clases estoy super enganchado!
Gracias, me interesa aprender Python ya que es uno de los lenguajes de más uso. Veo que muchos les cuesta trabajo comprender los generadores. Animo, con practica creo que lo comprenderán mejor. Para mi los generadores es algo nuevo ya que Java me acostumbró mucho a las listas. Pero, por motivos de espacio, esta es una buena opción.
Saludos hemano, te agrazco mucho por esto haces, gracias porque me gusta mucho python y estoy tratando de aprender lo mas que puedo con todos tus videos. desde la Republica Dominicana.
Muchas gracias por este gran trabajo y esfuerzo que realizas para que podamos aprender de esta forma tan clara como enseñas. saludos y mil gracias de nuevo profe
No se desanimen , no es que sea chino mandarin. No se si habras programado en otro lenguaje de programacion. Yo por ejemplo vengo del C que es un lenguaje de bajo nivel , demasiado bajo para lo que es python. Y se me facilita la comprension por que hago analogias con el otro lenguaje. Pero para mi C hubo muchos momentos que me parecia chino mandarin. Pero eso se saca con la practica. Practica mucho y veras como cambia todo.
Muchas gracias profe, feliz por un Nuevo video de python tus enseñanzas son muy buenas y faciles de entender, para cuando un nuevo curso profe? tiranos algo de adelanto porfa, saludos desde asuncion paraguay
muy bien el curso , solo hace falta que para los que nunca habiamos escuchado nada sobre programacion, que no hable siempre o almenos al principio tan tecnicamente , porque se hace mas dificil entender , pero en general muy buen curso
Gracias Juan. Tengo 2 preguntas: 1) ¿Qué pasaría en el programa del minuto 6:00 si no ubicaras el "next" dentro del print? ¿Es el "next" necesario para que un generador funcione correctamente? 2) En el minuto 9:11 podriamos decir que la linea "yield from" tiene una identación de más, ya que el "for" superior está en comentario. ¿Es esto necesario o es indiferente?
El next es necesario dentro de un bucle for. No recuerdo ya el código de este vídeo y tampoco se cómo se comporta el programa si le quitas el next dependiendo de la situación. Puedes hacer la prueba a ver qué hace el programa. Pero te recomiendo que lo pongas. En cuanto a la identación del yield, mientras haya identación todo funcionará dando igual si esta identación es mayor o menor. Un saludo!!
Lo primero, muchísimas gracias por tu tiempo y dedicación. No hay palabras para ello! Y lo segundo es una duda que plantear. Empleando esto hemos conseguido acceder a los dos primeros subelementos del primer elemento. Pero se podría acceder por ejemplo a los primeros subelementos del 3er o el 4º elemento sin tener que pasar por los anteriores antes? Porque entiendo que usando NEXT() vamos pasando de uno a otro en orden. No sé si se entiende mi pregunta. Muchas gracias otra vez 🙏🙏
Tengo una duda ¿Se puede usar el asterisco (*) en los parámetros sin usar el método Next? Lo intento pero me da error, y según entiendo la gracia del mismo en el parámetro es la de tener una forma rápida de expresar un número indeterminado de parámetros, pero al usar Next, por otro lado, se limita la cantidad de parámetros a los que manualmente se ingresen con Print.
Profe , tiene pensado subir algún curso sobre ZEND , sería muy bueno ver un curso sobre esto con usted ya que lo explica tan bien y se me hace un poco mas complicado que los demás cursos.Saludos y gran trabajo!
Es posible acceder a los siguientes elementos del objeto ciudades_devueltas. Es decir a los elementos de ""Barcelona" desde un inicio o es necesario escribir "n veces" next hasta llegar a esos elementos?
alguien me puede decir por que en el minuto 5:53 al pulsar intro para pasar a otro renglón para escribir otra linea se me imprime lo que esta en el renglón 8 y a el no? gracias
Hola, como estas? antes que nada quiero felicitarte por tus cursos! excelentes!! Ahora practicando un poco me surgió un problema que no puedo resolver... no se en que le estoy errando. la idea del código es ingresar un palabra por teclado y que devuelva la inversa de esta... el tema es que deseo que al ingresar la palabra "salir" termine con el programa (Aclaro que soy novato en esto!!). desde ya muchas gracias, Saludos. def inversa (palabra): print(palabra[::-1])
palabra="" while palabra != "salir": palabra=inversa((input(str("ingrese palabra:"))))
@@PabloNorry quizás sea un poco tarde pero creo que resolví tu código: def inversa (palabra): print(palabra[::-1]) palabra = "" while palabra != "salir": palabra = input(str("ingrese palabra:")) if palabra == "salir": break inversa(palabra) print("Fin del programa!")
Una pregunta se puede evitar el sangrado de texto en Python., o sea se puede escribir código como si estuvieras en cualquier otro lenguaje, ya sea C, C++ Basic, o el que sea... Hay algúna libreria o alguna manera de no tener que tabular o dejar espacios entre operadores?¿, es que se me hace extremadamente pesado que Atom me de errores todo el rato, a parte que me gusta nada tener que hacer el código de manera "obligada" a como dice Python... Obviamente está genial para leer código de otras personas o que lean tú código, pero a mi parecer te quita libertad, no sé , cosas de uno... Gracias por tu respuesta si lees estó despues de unos añitos. Felcidiades y Gracias por los cursos están todos la mar de bien explicados...
Una preguntita si yo con un generador en lugar de pedir el primero o el segundo elemento quisiera pedir por ejemplo el 6 sin que se me mostrasen los anteriores como lo haria?
E creado un ejemplo básico usando un cuestionario de preguntas donde si la respuesta es incorrecta te lo dice y te da la siguiente pregunta usando "next"... Díganme que les párese y si les a ayudado a entender mejor este generador. preguntas = ["¿pregunta 1?", "¿pregunta 2?", "¿pregunta 3?"] def cuestionario(elem): yield from elem cuestionarioP = cuestionario(preguntas) print(next(cuestionarioP)) respuesta1 = input("R1: ") if respuesta1== "rojo": print(next(cuestionarioP)) else: print("respuesta incorrecta") print(next(cuestionarioP)) respuesta2 = input("R2: ") if respuesta2 == "verde": print(next(cuestionarioP)) else: print("respuesta incorrecta") respuesta3 = input("R3: ") if respuesta3 == "azul": print ("cuestionario finalizado") else: print("respuesta incorrecta") print("cuestionario finalizado")
Saludos, cuando entro a la pagina para buscar ejercicios y asi poner en practica lo aprendido, no logro encontrarlos, si podria ayudar con eso por favor.
Buenas una duda, en el video con el yield from, los datos se refiere al primer objeto, pero si quisiera realizarlo de otro objeto, es decir, en el video saca las primeras letras de "Madrid", pero si quisiera las de "Barcelona" o "Bilbao", muchas gracias y excelente curso
Se que hace mucho tiempo de esta pregunta ¿lo resolviste? pongo el código para que me digas como lo realizaste: def devuelve_ciudades(*ciudades): for elemento in ciudades: yield from elemento ciudades_devueltas=devuelve_ciudades("Madrid", "Barcelona", "Bilbao", "Valencia") print(next(ciudades_devueltas)) print(next(ciudades_devueltas))
Hola Juan, una pregunta, al igual que hiciste en el curso de java en la parte de JDBC. ¿Explicaras como hacer conexiones a bases de datos remotas en Python? Un saludo.
Hola, Gracias por compartir los conocimientos, estoy aprendiendo mucho. Me podría responder esta pregunta por favor; Usted en este video indica que el argumento *ciudades es para que guarde un numero de elementos indeterminados y esto estará guardado en forma de tupla. Sin embargo si yo quisiera ver la tupla no lo puedo hacer porque me indica que ciudades o *ciudades no están definidos. ¿cómo y en dónde puedo ver la tupla y sus elementos como tal? Gracias de antemano a la respuesta de la pregunta.
Justamente, el generador lo que hace es trabajar sobre los elementos de ciudades uno a la vez, por lo que la única manera de ver la tupla completa es recorriendo el generador con un ciclo for o while e imprimiendo cada elemento. Espero haberte ayudado 😉
Tiene mas que ver con el ambito de la variable (en este caso de la tupla). Si intentas verlo fuera de la funcion te daria error porque no existe, pero sí dentro de la funcion puedes imprimir la tupla. Por ejemplo poniendo print(ciudades) antes del bucle for.
Hola... una duda. En la primera version que haces de yield la salida que te da son los nombres de las dos primeras ciudades (minuto 6:08), pero en el resto de versiones la salida no es el nombre de las dos ciudades sino SOLO las dos primeras letras.... ¿Porque esta diferencia? Si da DOS resultados diferentes NO son dos versiones del mismo programa sino dos programas diferentes
Lo que pasa es que solo muestra las dos primeras letras por la veces que imprime con el next, ocupa un bucle for como el del vídeo anterior y veras que imprime todas las letras desde la 'M' de Madrid hasta la ultima 'a' de Valencia for i in ciudades_devueltas: #Mostrando el generador print(i)
Hola Juan, muchas gracias por sus videos. Me gustaria saber qué libros puedes recomendar para aprender a programar en python desde cero. Saludos cordiales.
Ingeniero Juan muy buenas tardes, es tan amable de presentar un curso framework Symfony, desde cero, seria muy interesante que usted nos diera la oportunidad de aprender contigo este programa, para hacer una pagina web. saludos
Hola, antes de nada darte las gracias por tu trabajo, me parece muy, muy bueno. Me gustaría saber porque al imprimir el objeto generador con print(devuelvepares) sale una dirección de memoria. Gracias de nuevo por tu trabajo
hola , con esta sentencia estas imprimiendo la direccion fisica del objeto y no estas utilizando el metodo next que es el necesario para iterar con los elementos que contiene ese objeto.
Me imagino que con el tiempo que lleva el comentario ya lo has mirado y lo sabrás. El yield lo que hace es en un elemento generado lista, tupla va cogiendo los elementos de uno en uno sin generar todos los elementos para ocupar menos memoria y trabajar más ágil. Por ejemplo tienes metidos en una lista todos los pueblos de una provincia o región en orden alfabético que pueden ser muchos, pues con el yield los va mostrando según los necesitas y no genera la tupla completa cuando buscas un solo elemento dentro de ella. Así lo entiendo yo que no se si es el modo más adecuado.
Buen día a todos. Disculpa Juan. Te sirve de algo ver los anuncios de video completos antes de empezar un video tuyo? Te agradezco mucho el curso. Saludos desde la CDMX.
una pregunta si yield from sería para simplificar los bucles anidados si te fijas está dentro del segundo bucle tiene que estar siempre ahí o no importa eso (si no me explique me refiero a si el "yield from" da igual cuanta sangria este)
He visto que en mi pais Argentina piden mucho programadores full stack o front end, para alguien que se especialice en Python, deberá irse de Argentina para conseguir empleo?
una duda cuando pongo el yield from elemento le output me pone un error: SYNTAX ERROR cambie de ide y sigue el mismo problema y verifique la instalacionde PYTHON3 ...alguna sugerencia. Mil gracias este es el codigo: def devuelve_ciudades(*ciudades): for elemento in ciudades: #for subelemento in elemento: yield from elemento ciudades_devueltas=devuelve_ciudades("Mexico","Budapest","Debrecem","Koscie") print(next(ciudades_devueltas)) print(next(ciudades_devueltas))
la instrucción "yield from" está identada con respecto el comentario "#for subelemento"... Prueba a identarlo con respecto al bucle for elemento in ciudades: También prueba a quitar el asterisco de ciudades (*ciudades).....quizás no lo soporta tu versión de Python
Abrir Sublime Tex 3. Ir la menú Preferences y pulsar en Key Bindings y pegar el código entre los corchetes Para los usuarios de Windows { "keys": ["ctrl+alt+b"], "command": "run_existing_window_command", "args": { "id": "repl_python_run", "file": "config/Python/Main.sublime-menu" } }
def devuelve_ciudades(*ciudades): for elemento in ciudades: for subelemento in elemento: yield subelemento ciudades_devueltas=devuelve_ciudades("Madrid","Barcelona","Bilbao","Valencia") numerodeletras=len(int(ciudades_devueltas)) contador=0 while contador
me he dado cuenta de que han pasado dos años jajaj igual eres experto ya. no se puede no? voy a intentar un loop para que diga next y si sale un espacio vacio que pare el loop. ou yeah!!
este funciona: def devuelve_ciudades(*ciudades): for elemento in ciudades:
yield from elemento ciudades_devueltas=devuelve_ciudades("Madrid","Barcelona","Bilbao","Valencia") while True: print(next(ciudades_devueltas)) if ciudades_devueltas ==" ": break
Muy buenos los videos, pero hasta el momento la información de los programas no se puede guardar para luego modificarla o leerla, pero muy buena la pedagogía.
Poco tarde y quizá ya lo averiguaste, pero: for elemento in (ciudades[ ]): Dentro de los corchetes indicas la posición a la cual quieres acceder, en este caso, sería del 0 al 3, ya que son 4 ciudades las del ejemplo.
✅✅ ✅ ✅ ✅ Todos mis cursos gratuitos 👉 www.pildorasinformaticas.es ✅✅ ✅ ✅ ✅
🚀 ¿Quieres ejercicios? ¿Quieres más temario? 👉 www.pildorasinformaticas.es/course/python-tutorizado/🚀
🚀 ¿Quieres que te resuelva las dudas de Python👉 www.pildorasinformaticas.es/course/python-tutorizado/ 🚀
💥💥💥 Siempre seguiré subiendo cursos gratuitos por aquí. Gracias a todos por seguirme. 💥💥💥
hola como estas, estoy siguiendo este curso pero los ejercicios para practicar no están por ninguna parte, podrias indicarme por favor donde esta
Que se puede pedir mas, curso completo, bien explicado y sin pagar un euro ojala hubiera mucha gente como tu, las explicaciones son geniales, muchisimas gracias
estos tutoriales me mantuvieron ocupado esta cuarentena
X2
Gracias, tal vez no pueda apoyarte económicamente, pero miro todos los comerciales que a perecen en tus vídeos.
Yo tambien, es mi manera de expresar mi gratitud hacia este buen sujeto
Gente! si no se puede colaborar con una donación por favor miremos los vídeos y la publicidad. Este canal es único y hay que apoyarlo!
muchas Gracias profesor, todo muy claro hasta ahora.
La mejor forma de entretenimiento en el aislamiento, aprender a programar!!! Muchísimas gracias!
Excelente!, ·Excelente!, Excelente!,..., Excelente uso del lenguaje, excelente los ejemplos y excelente dominio del tema!. Felicitaciones y continúe creciendo en este excelente canal!
Que buen curso amigo !! Llegue hasta aqui pensando que el tema de Python me iba a costar mas, pero estoy animado. El tema de los generadores es algo novedoso y potente, aunque para mi se entiende perfecto si los piensas como una funcion que guarda su estado y entra en suspension cuando encuentra la instruccion yield en su interior, para luego devolver un valor y retornar al punto siguiente de la llamada. Muy bueno todo hasta aqui ! Saludos desde Argentina, Buenos Aires, Berisso.
Qué buenísimo está el curso; he visto varios cursos porque algunos se me dificulta entenderlos o porque no me convencen los ejemplos que usan pero tu curso me lo recomendó un analista de datos Pablo tabilo y me ha parecido excelente hasta el momento, saludos ✌️
Un millón de gracias por tanto esfuerzo en divulgar el conocimiento y encima de una forma tan amena y didáctica, UN CRACK!
Solo para agradecerte por tu gran labor, te sigo desde Java, VBA, HTML5 y ahora Python.Saludos desde México.
Que barbaro eh alucinado con yield from dado que puedes ingresar a subnivel que quieras para averiguar que tiene llamando desde el objeto que quieras. es como bajar niveles de un edificio. Exelente! muchas gracias por las clases estoy super enganchado!
Gracias, me interesa aprender Python ya que es uno de los lenguajes de más uso. Veo que muchos les cuesta trabajo comprender los generadores. Animo, con practica creo que lo comprenderán mejor. Para mi los generadores es algo nuevo ya que Java me acostumbró mucho a las listas. Pero, por motivos de espacio, esta es una buena opción.
Saludos hemano, te agrazco mucho por esto haces, gracias porque me gusta mucho python y estoy tratando de aprender lo mas que puedo con todos tus videos. desde la Republica Dominicana.
ya le entendí sensei. Obviamente aun no le encuentro un uso pero ya lo comprendí.
Querido Amigo muchas gracias por compartir tus conocimientos con el mundo. Felicitaciones.
Excelente curso.
Muchas gracias por el comentario. Un saludo!!
Muchas gracias por compartir tu conocimiento con nosotros, maestro!
Buena por esa profesor cada día más aprendiendo Python. Felicitaciones
hola genio jajaj recién estoy en el curso de java capitulo 13 te agradezco muchísimo por la ezeñanza de hace 4 años gracias
Muchísimas gracias por compartir este gran curso. Un 10 a todos estos cursos. Excelente trabajo!
Gracias ! Un saludo
Muchas gracias por este gran trabajo y esfuerzo que realizas para que podamos aprender de esta forma tan clara como enseñas.
saludos y mil gracias de nuevo profe
Gracias por el comentario. Un cordial saludo!
Excelente curso.... muchas gracias estimado Juan. Saludos cordiales.
Iba todo perfecto, hasta que llegó a los generadores y todo empezó a sonar a chino mandarín x'D
que reaal
Es la parte más difícil hasta ahora, solo es cuestión de repetir y buscar ejemplos.
No se desanimen , no es que sea chino mandarin. No se si habras programado en otro lenguaje de programacion. Yo por ejemplo vengo del C que es un lenguaje de bajo nivel , demasiado bajo para lo que es python. Y se me facilita la comprension por que hago analogias con el otro lenguaje. Pero para mi C hubo muchos momentos que me parecia chino mandarin. Pero eso se saca con la practica. Practica mucho y veras como cambia todo.
@@alejandropereyra2910 ¿Cuanto tiempo te tomo dominar C? A ver si me das esperanzas...
@@Herzhoz 2 años !! Fue un trabajo constante de hacer ejercicios tras ejercicios
Muchas gracias por compartir tus clases Juan, eres el mejor 👏
Excelente curso amigo. Estoy aprendiendo mucho en esta cuarentena. Saludos
Saludos desde México, ando aprendido python, gracias por el curso
Muchas gracias , saludos desde chile.
gracias por estos videos que son de gran ayuda
Muchas gracias profe, feliz por un Nuevo video de python tus enseñanzas son muy buenas y faciles de entender, para cuando un nuevo curso profe? tiranos algo de adelanto porfa, saludos desde asuncion paraguay
Ha quedado muy bien explicado. Gracias Juan.
muy bien el curso , solo hace falta que para los que nunca habiamos escuchado nada sobre programacion, que no hable siempre o almenos al principio tan tecnicamente , porque se hace mas dificil entender , pero en general muy buen curso
me tienes enganchadisimo.
Python es hermoso.
Me costo entenderle, pero al final, quedo claro, muchas gracias
Gracias Juan. Tengo 2 preguntas:
1) ¿Qué pasaría en el programa del minuto 6:00 si no ubicaras el "next" dentro del print? ¿Es el "next" necesario para que un generador funcione correctamente?
2) En el minuto 9:11 podriamos decir que la linea "yield from" tiene una identación de más, ya que el "for" superior está en comentario. ¿Es esto necesario o es indiferente?
El next es necesario dentro de un bucle for. No recuerdo ya el código de este vídeo y tampoco se cómo se comporta el programa si le quitas el next dependiendo de la situación. Puedes hacer la prueba a ver qué hace el programa. Pero te recomiendo que lo pongas.
En cuanto a la identación del yield, mientras haya identación todo funcionará dando igual si esta identación es mayor o menor. Un saludo!!
Lo primero, muchísimas gracias por tu tiempo y dedicación. No hay palabras para ello!
Y lo segundo es una duda que plantear. Empleando esto hemos conseguido acceder a los dos primeros subelementos del primer elemento. Pero se podría acceder por ejemplo a los primeros subelementos del 3er o el 4º elemento sin tener que pasar por los anteriores antes? Porque entiendo que usando NEXT() vamos pasando de uno a otro en orden. No sé si se entiende mi pregunta. Muchas gracias otra vez 🙏🙏
Gracias profe!!
Gracias totales
Tengo una duda ¿Se puede usar el asterisco (*) en los parámetros sin usar el método Next? Lo intento pero me da error, y según entiendo la gracia del mismo en el parámetro es la de tener una forma rápida de expresar un número indeterminado de parámetros, pero al usar Next, por otro lado, se limita la cantidad de parámetros a los que manualmente se ingresen con Print.
Profe , tiene pensado subir algún curso sobre ZEND , sería muy bueno ver un curso sobre esto con usted ya que lo explica tan bien y se me hace un poco mas complicado que los demás cursos.Saludos y gran trabajo!
Hola !! Gracias por el comentario. La verdad es que ZEND de momento no entra en mis planes, pero quién sabe en el futuro. Un saludo!!
melo muchas gracias por enseñar ;)
Muchas Gracias Profe !!! ...
que buen video de verdad que se te etiende muy bien
Es posible acceder a los siguientes elementos del objeto ciudades_devueltas. Es decir a los elementos de ""Barcelona" desde un inicio o es necesario escribir "n veces" next hasta llegar a esos elementos?
gracias maestro
Wao que interesante y facil de entender
alguien me puede decir por que en el minuto 5:53 al pulsar intro para pasar a otro renglón para escribir otra linea se me imprime lo que esta en el renglón 8 y a el no? gracias
Muchas gracias genio
Voy a volver a este comentario cuando termine el curso :)
nunca paso...
Hola, como estas? antes que nada quiero felicitarte por tus cursos! excelentes!!
Ahora practicando un poco me surgió un problema que no puedo resolver... no se en que le estoy errando.
la idea del código es ingresar un palabra por teclado y que devuelva la inversa de esta... el tema es que deseo que al ingresar la palabra "salir" termine con el programa (Aclaro que soy novato en esto!!). desde ya muchas gracias, Saludos.
def inversa (palabra):
print(palabra[::-1])
palabra=""
while palabra != "salir":
palabra=inversa((input(str("ingrese palabra:"))))
print("Fin del programa!")
no tiene nada que ver con generadores... perdón!
@@PabloNorry quizás sea un poco tarde pero creo que resolví tu código:
def inversa (palabra):
print(palabra[::-1])
palabra = ""
while palabra != "salir":
palabra = input(str("ingrese palabra:"))
if palabra == "salir":
break
inversa(palabra)
print("Fin del programa!")
gracias profe muy buenos sus vídeos espero con muchas ganas el de laravel =D
Quiero terminar este curso para empezar con la inteligencia artificial.:)
Gracias excelente curso¡
Muchas gracias.
Muy bueno!
Eres excelente man!!!!
Gracias !! Un saludo
Una pregunta se puede evitar el sangrado de texto en Python., o sea se puede escribir código como si estuvieras en cualquier otro lenguaje, ya sea C, C++ Basic, o el que sea... Hay algúna libreria o alguna manera de no tener que tabular o dejar espacios entre operadores?¿, es que se me hace extremadamente pesado que Atom me de errores todo el rato, a parte que me gusta nada tener que hacer el código de manera "obligada" a como dice Python... Obviamente está genial para leer código de otras personas o que lean tú código, pero a mi parecer te quita libertad, no sé , cosas de uno... Gracias por tu respuesta si lees estó despues de unos añitos. Felcidiades y Gracias por los cursos están todos la mar de bien explicados...
Hola que tal, bienvenidos a todos a otra entrega de curso de programacion en python xD , el saludo en todos sus videos de python xD :v un clasico :V
¿Nos dejarías un ejercicio para practicar generadores?
Una preguntita si yo con un generador en lugar de pedir el primero o el segundo elemento quisiera pedir por ejemplo el 6 sin que se me mostrasen los anteriores como lo haria?
E creado un ejemplo básico usando un cuestionario de preguntas donde si la respuesta es incorrecta te lo dice y te da la siguiente pregunta usando "next"... Díganme que les párese y si les a ayudado a entender mejor este generador.
preguntas = ["¿pregunta 1?", "¿pregunta 2?", "¿pregunta 3?"]
def cuestionario(elem):
yield from elem
cuestionarioP = cuestionario(preguntas)
print(next(cuestionarioP))
respuesta1 = input("R1: ")
if respuesta1== "rojo":
print(next(cuestionarioP))
else:
print("respuesta incorrecta")
print(next(cuestionarioP))
respuesta2 = input("R2: ")
if respuesta2 == "verde":
print(next(cuestionarioP))
else:
print("respuesta incorrecta")
respuesta3 = input("R3: ")
if respuesta3 == "azul":
print ("cuestionario finalizado")
else:
print("respuesta incorrecta")
print("cuestionario finalizado")
La programación correcta a mi parecer es:
preguntas = ["¿pregunta 1?", "¿pregunta 2?", "¿pregunta 3?"]
def cuestionario(elem):
yield from elem
cuestionarioP = cuestionario(preguntas)
print(next(cuestionarioP))
respuesta1 = input("R1: ")
if respuesta1 == "rojo":
print("respuesta correcta")
else:
print("respuesta incorrecta")
print(next(cuestionarioP))
respuesta2 = input("R2: ")
if respuesta2 == "azul":
print("respuesta correcta")
else:
print("respuesta incorrecta")
print(next(cuestionarioP))
respuesta3 = input("R3: ")
if respuesta3 == "verde":
print("respuesta correcta")
print("cuestionario finalizado")
else:
print("respuesta incorrecta")
print("cuestionario finalizado")
Saludos.
en este curso se ve arboles y grafos??
ahora si se ve la ventaja de un generador
Saludos, cuando entro a la pagina para buscar ejercicios y asi poner en practica lo aprendido, no logro encontrarlos, si podria ayudar con eso por favor.
Buenas una duda, en el video con el yield from, los datos se refiere al primer objeto, pero si quisiera realizarlo de otro objeto, es decir, en el video saca las primeras letras de "Madrid", pero si quisiera las de "Barcelona" o "Bilbao", muchas gracias y excelente curso
Se que hace mucho tiempo de esta pregunta ¿lo resolviste? pongo el código para que me digas como lo realizaste:
def devuelve_ciudades(*ciudades):
for elemento in ciudades:
yield from elemento
ciudades_devueltas=devuelve_ciudades("Madrid", "Barcelona", "Bilbao", "Valencia")
print(next(ciudades_devueltas))
print(next(ciudades_devueltas))
Hola Juan, una pregunta, al igual que hiciste en el curso de java en la parte de JDBC. ¿Explicaras como hacer conexiones a bases de datos remotas en Python? Un saludo.
Hola, Gracias por compartir los conocimientos, estoy aprendiendo mucho.
Me podría responder esta pregunta por favor;
Usted en este video indica que el argumento *ciudades es para que guarde un numero de elementos indeterminados y esto estará guardado en forma de tupla.
Sin embargo si yo quisiera ver la tupla no lo puedo hacer porque me indica que ciudades o *ciudades no están definidos.
¿cómo y en dónde puedo ver la tupla y sus elementos como tal?
Gracias de antemano a la respuesta de la pregunta.
Justamente, el generador lo que hace es trabajar sobre los elementos de ciudades uno a la vez, por lo que la única manera de ver la tupla completa es recorriendo el generador con un ciclo for o while e imprimiendo cada elemento. Espero haberte ayudado 😉
Tiene mas que ver con el ambito de la variable (en este caso de la tupla). Si intentas verlo fuera de la funcion te daria error porque no existe, pero sí dentro de la funcion puedes imprimir la tupla. Por ejemplo poniendo print(ciudades) antes del bucle for.
Hola... una duda. En la primera version que haces de yield la salida que te da son los nombres de las dos primeras ciudades (minuto 6:08), pero en el resto de versiones la salida no es el nombre de las dos ciudades sino SOLO las dos primeras letras....
¿Porque esta diferencia? Si da DOS resultados diferentes NO son dos versiones del mismo programa sino dos programas diferentes
Lo que pasa es que solo muestra las dos primeras letras por la veces que imprime con el next, ocupa un bucle for como el del vídeo anterior y veras que imprime todas las letras desde la 'M' de Madrid hasta la ultima 'a' de Valencia
for i in ciudades_devueltas: #Mostrando el generador
print(i)
Hola Juan, muchas gracias por sus videos. Me gustaria saber qué libros puedes recomendar para aprender a programar en python desde cero. Saludos cordiales.
Think Python: How to think like a computer scientist. (COn ese empecé yo)
Muchas gracias.
a una pregunta en c++ que serian los bucles anidados
Ingeniero Juan muy buenas tardes, es tan amable de presentar un curso framework Symfony, desde cero, seria muy interesante que usted nos diera la oportunidad de aprender contigo este programa, para hacer una pagina web. saludos
Tomo nota de la sugerencia. Un saludo!!
Juan buenos días, muchas gracias por tomarme en cuenta mi solicitud
Hola, antes de nada darte las gracias por tu trabajo, me parece muy, muy bueno. Me gustaría saber porque al imprimir el objeto generador con print(devuelvepares) sale una dirección de memoria. Gracias de nuevo por tu trabajo
hola , con esta sentencia estas imprimiendo la direccion fisica del objeto y no estas utilizando el metodo next que es el necesario para iterar con los elementos que contiene ese objeto.
todavia no entiendo yield... se supone que devuelve el primer letra de una lista?
y next devuelve el primer elemento de la lista?
Me imagino que con el tiempo que lleva el comentario ya lo has mirado y lo sabrás. El yield lo que hace es en un elemento generado lista, tupla va cogiendo los elementos de uno en uno sin generar todos los elementos para ocupar menos memoria y trabajar más ágil. Por ejemplo tienes metidos en una lista todos los pueblos de una provincia o región en orden alfabético que pueden ser muchos, pues con el yield los va mostrando según los necesitas y no genera la tupla completa cuando buscas un solo elemento dentro de ella. Así lo entiendo yo que no se si es el modo más adecuado.
Buen día a todos. Disculpa Juan. Te sirve de algo ver los anuncios de video completos antes de empezar un video tuyo? Te agradezco mucho el curso. Saludos desde la CDMX.
tenias razon, no se puede usar la ñ, lo hice con frutas y me salio error al correrlo con piña. al escribir pina se ejecuto.
una pregunta si yield from sería para simplificar los bucles anidados si te fijas está dentro del segundo bucle tiene que estar siempre ahí o no importa eso (si no me explique me refiero a si el "yield from" da igual cuanta sangria este)
La sangría sí importa.
He visto que en mi pais Argentina piden mucho programadores full stack o front end, para alguien que se especialice en Python, deberá irse de Argentina para conseguir empleo?
recuerden gente, si algo no les queda claro, stack overflow lo resuelve
Miguel Martínez estuvo aquí...
una duda cuando pongo el yield from elemento le output me pone un error: SYNTAX ERROR cambie de ide y sigue el mismo problema y verifique la instalacionde PYTHON3 ...alguna sugerencia. Mil gracias este es el codigo:
def devuelve_ciudades(*ciudades):
for elemento in ciudades:
#for subelemento in elemento:
yield from elemento
ciudades_devueltas=devuelve_ciudades("Mexico","Budapest","Debrecem","Koscie")
print(next(ciudades_devueltas))
print(next(ciudades_devueltas))
la instrucción "yield from" está identada con respecto el comentario "#for subelemento"...
Prueba a identarlo con respecto al bucle for elemento in ciudades:
También prueba a quitar el asterisco de ciudades (*ciudades).....quizás no lo soporta tu versión de Python
el problema es la Indentación más nada amigo :D
Perdon como has puesto por comandos que salga el resultado de la fucnion en la consola?
Abrir Sublime Tex 3. Ir la menú Preferences y pulsar en Key Bindings y pegar
el código entre los corchetes
Para los usuarios de Windows
{ "keys": ["ctrl+alt+b"], "command": "run_existing_window_command", "args":
{
"id": "repl_python_run",
"file": "config/Python/Main.sublime-menu"
} }
Pensé que el asterisco antes del parámetro ciudades era un apuntador como en el lenguaje C.
Vengo de C/C++ y me manejo muy bien con los vectores de dos dimensiones, pero esto de Yield y Yield From todavía no me entra en la cabeza ...
Disculpe alguien tiene algun codigo para recorrer estructuras Json con funciones Yield, soy nuevo en python, gracias.....
tengo un problema cuando agregue el * en el argumento del constructor ?? me sale error al ejecutar .... aquien mas le paso??
como lo solucioonaste?
Es parecido al método iterator de Java no?
Sí, es similar
Muy buen video, entendí perfectamente, pero tengo una duda, como accedería a los subelementos del segundo elemento ( Barcelona).
Como podríamos acceder a los otros sub-elementos?. Gracias por el curso, saludos.
def devuelve_ciudades(*ciudades):
for elemento in ciudades:
for subelemento in elemento:
yield subelemento
ciudades_devueltas=devuelve_ciudades("Madrid","Barcelona","Bilbao","Valencia")
numerodeletras=len(int(ciudades_devueltas))
contador=0
while contador
me he dado cuenta de que han pasado dos años jajaj igual eres experto ya. no se puede no? voy a intentar un loop para que diga next y si sale un espacio vacio que pare el loop. ou yeah!!
este funciona:
def devuelve_ciudades(*ciudades):
for elemento in ciudades:
yield from elemento
ciudades_devueltas=devuelve_ciudades("Madrid","Barcelona","Bilbao","Valencia")
while True:
print(next(ciudades_devueltas))
if ciudades_devueltas ==" ":
break
Muy buenos los videos, pero hasta el momento la información de los programas no se puede guardar para luego modificarla o leerla, pero muy buena la pedagogía.
Te refieres a que no puedes modificar el archivo.Py una vez creado.?
Pregunta: Porque dice que esta recibiendo el argumento en forma de tupla?? por el asterisco *? No tiene sentido
Ojala me hubieran enseñado asi matrices xD jeje
como accedo a la segunda ciudad?
Poco tarde y quizá ya lo averiguaste, pero:
for elemento in (ciudades[ ]):
Dentro de los corchetes indicas la posición a la cual quieres acceder, en este caso, sería del 0 al 3, ya que son 4 ciudades las del ejemplo.
@@danielpanda88 gracias
yield from no funciona en Python 2.7 :(
Pásate a la versión 3 o superior. Un saludo!
Iba a decir lo mismo. Si, no queda otra que usarlo en una versión mas actual. En Python, "next" tambien tira error. No la reconoce.
Profe, de nuevo gracias por el video! Excelente como siempre... Pregunta, dentro del temario, ¿vamos a ver Programación Web?
No se webon, estudia tu si asi quieres.
profe podrias explicarnos como pasar de .py a .exe
Es algo que se explicará más adelante en el curso (no queda mucho). Un saludo!!
el from no me lo toma bien :c
sos un crack voludo
Next en Python 2.1.5 no esta definido.
A lo mejor lo has puesto con primera letra en mayúscula y es todo en minúscula. Saludos
no me funciona el yield from , me dice "syntax error" pero bueno , entendí perfectamente como funciona , muchas gracias
si te da error es por que tienes instalado solo python 2 y es una caracteristica de python 3
@@BL4CKB3H3M0TH si , si al final lo pude solucionar tenia que ejecutarlo con el nombre python3 en linux y funciona