✅✅ ✅ ✅ ✅ 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. 💥💥💥
Hay alguna forma de evitar que si pulsas el botón + todo el rato sin estar especificando ningún numero se sigan sumando los números? Es decir y tal como esta él codigo ahora, tu escribes 2 le das + y sin haber introducido ningún segundo numero suma 2 y 2, con lo cual deja 4 en pantalla, de nuevo le das a + y recoge nuestro 4 de la pantalla, y así espameando el botón + sin estar agregando nada hace: 2+2+4+4+8+8+16+16+32+32. Es lo que veo con la diferencia de la calculadora de windows. Soy novato en phyton, ¿Como se controlaría esto?
Desde la clase pasada intenté resolver lo de la calculadora y me salieron muchas líneas de código, suma y hasta tuve que googlear para saber cómo jalar variables globales y pum!! Que veo el vídeo y que las usas, no andaba tan perdido, lo que sí, es que lo optimizador mejor, espero algún día ser igual de bueno que tú Juan
Muy buenas tardes profesor, excelente curso 💪 Me gustaría que nos enseñe inteligencia artificial, sé que con python es más amigable la IA (eso me han dicho) con librerías como scikit-learn, AIMA, SimpleAI, estoy en 5to semestre ingeniería en networking y telecomunicaciones ( he visto programación todos los semestres) y me gustaría aprender IA, por favor profesor 💪
La propuesta no es mala en absoluto, solo que programar cosas tan concretas como una IA se alejan bastante de lo que viene siendo el aprendizaje de un lenguaje de programación. Para lo que pides al menos yo considero que seria más apropiado hacerlo en un curso de "Lógica de programación", donde se enseñen ejercicios para mejorar el pensamiento matemático, se aprendan a utilizar algoritmos básicos, se promueva el crear algoritmos propios y para este caso en concreto que mencionas se profundice en Machine Learning, que es el área especializada en IA. Todo esto es independiente al lenguaje de programación que utilice cada uno y sirve en cualquier caso. Si ahora se explicase como utilizar librerías como Scikit-Learn o AIMA solo se estaría enseñando a utilizar dichas librerías, más no a entender un concepto como el Machine Learning y muchos se perderían entre las explicaciones. Lo mejor es ir paso por paso, no hay que intentar correr antes de aprender a caminar.
Hola! Excelente curso, muchas gracias por disponibilizarlo de manera gratuita. Podrías indicarme en qué video explicas el funcionamientod e la palabra reservada "global"?
Excelente aporte, en futuros cursos creo que deberías lanzar uno de R para big data. eso llevaría a otro nivel este canal. saludos y continua compartiendo tus conocimientos.
Hola a todos! Estoy realizando este curso de Python y otro de Excell y la duda que me surje es si creen que es mejor practicar bastante y poco a poco todos los conceptos que voy aprendiendo (bucles, condicionales, sistactica basica, etc) o si por el contrario es mejor adquirir mas conocimientos (POO y el resto del curso) y luego practicar con todos esos conocimientos. Se que hay que practicar muchísimo para aprender pero la preguntar es si ganar conocimientos y luego ponerlos en practica todos o ir poniendo en practica los conocimentos poco a poco. Porque con bucles puedo hacer "programas" muy sencillos o liarme "todo lo que quiera" pero nose si me estoy parando demasiado en estos primeros temas Muchas gracias y un saludo
para los numeros decimales creo que es tan sencillo como usar el metodo de strings replace y cambiar las comas por puntos y despues de realizar todos los calculos internos volver a cambiar los puntos por coma para mostrarlo en pantalla
Hola, me gustaría saber si la pantalla de calculadora, se puede alarga de tamaño vertical y también darle mas tamaño a los números. El código dentro del Entry solo acepta Width pero no reconoce Height.
Realmente creo que en este punto alguien que empiece desde 0 o sin conocimientos previos de programación le seria muy difícil terminar este programa "sencillo", yo estoy aprendiendo por hobby, sin embargo no me cierro a la posibilidad de estar programando algo en un futuro que me apasione, hoy tenemos a nuestro favor muchas herramientas que nos pueden ayudar a completar el Código cuando nos atascamos pero definitivamente queda mucho por recorrer.
jajaja , yo llevaba como media hora matandome porque me daba un error en la funcion suma , y despues de todo eso resulta que lo unico que me faltaba eran los parentesis
me paso ,hasta le pregunte a un amigo programador ,me tiro un par de tips para buscar los errores etc... despues de un tiempo se me prendio la lamparita y era que me faltaba 1 parentesis al get.. buscar tu error y solucionarlo creo que es una practica que enriquece y satisface como nada en el mundo. :D
porque es una instancia de StringVar de módulo TKinter y si mal no recuerdo las instancias de objetos son intrínsecamente globales, salvo que se codifique lo contrario. Python trata a las variables dentro de las funciones como locales a la misma y las encapsula (lo que pasa dentro de la función queda en la función, al no ser un lenguaje tan tipado y que hay que declarar todo se presta a confusión. Bueh, depende del programador. Estoy estudiando mucho python en parte porque me cansé de java y c++, es más intuitivo e incluso hasta más rápido para codificar. Y porque el 90% de las herramientas y librerías que encuentro en mi distro de Linux están realizadas en python
Juan, muchísimas gracias nuevamente por todo lo que haces por ayudar a la comunidad a salir del analfabetismo informático. Tengo una única duda respecto a este vídeo. Me pasa que el número en pantalla siempre queda en memoria, y por ende si pulso sucesivamente el botón '+' sin introducir nuevos números la pantalla de la calculadora muestra una progresión. Por ejemplo, si pulso en este orden '2 + 2 + + + +' la pantalla de la calculadora muestra '2 2 4 8 16 32 64', cuando debería quedarse en el número 4 como en una calculadora normal. ¿Tienes idea de cómo corregir esto? Lo he pensado pero no se me ocurre cómo.
creo que lo que voy hacer es usar state=tk.DISABLED que va a deshabilitar el boton cada ves que se aprete 1 ves y volver habilitarlo cada ves que ingrese un nuevo valor (0,1,2,3,4,5,6,7,8,9) no es estetico ya que el boton se vera deshabilitado pero "funcional" 😋
Hola! muchas gracias por compartir tu código, estoy recién aprendiendo esto y estoy un poco complicada. Por qué al momento de codificar la suma pones operadores de multiplicación o resta? no debería todo sumarse?, intenté poner todo con suma y no me funciona, pero no entiendo la lógica. En esta parte: else: if memoriaResta != 0: memoriaSuma = memoriaResta - int(numeroPantalla.get()) numeroPantalla.set("0") memoriaResta = 0 elif memoriaMulti != 1: memoriaSuma = memoriaMulti * int(numeroPantalla.get()) numeroPantalla.set("0") memoriaMulti = 1 else: memoriaSuma = memoriaDivi / int(numeroPantalla.get()) numeroPantalla.set("0") memoriaDivi = 1
@@catacabello2569 releyendo por encima tampoco entiendo porqué lo puse...😲 Entiendo también que en cuando memoriaResta != 0 significa que se ha hecho una resta anteriormente, por lo tanto el nuevo valor de la variable memoriaSuma debería asignarle el valor de memoriaResta + el valor introducido.
Si alguno no utilizó argumento para su stringvar() ni el lambda y ahora quiere transformarlo en entero para sumarlo con el resultado; en lugar de volver en entero el stringvar() llamen lo que ha obtenido el stringvar() para que no le de el error de no poder transformar a entero un strvar(). digamos que "strv= Stringvar()", con " int(strv.get())" lo transforman en entero
gracias no podia hacer que lo convierta, en mi caso cambie : resultado += int(num) por: resultado += int(numeroPantalla.get()) y anduvo, lo que no entiendo es por que a el le funciona con NUM.
Buenas tardes. Tengo una duda que no puedo resolver. Como puedo hacer para que, al momento de pulsar por ejemplo el botón "suma", me muestre el símbolo "+" y luego realice la operación? En el ejemplo, cuando apretamos sumar se mantienen los números escritos anteriormente y desaparecen (se guardan en la variable) al colocar los siguientes números. Yo quiero que me muestre la operación que voy a realizar. Muchas gracias
Con la funcion eval() con esta funcion puedes pasarle un string por ejemplo: 2+2 y realizará la operacion no se mucho sobre esa funcion pero puedes investigar yo tambien me preguntaba lo mismo y en internet encontre esa función suerte!
Porque a numero de pantalla le estás llamando a través de los métodos ".set" y ".get" mientras que a operación y resultado las estás manipulando dentro de la función utilizando como llamada a la variable externa a la función el método "global". Si estoy equivocado, corregidme por favor. Gracias!!!!!!
Uufff amigos Python es el lenguaje más usado de la actualidad, porfa C++ es un grandiisisiisisissisimo lenguaje y de mucha actualidad, pero todavía sería muy bueno seguir con Python, un abrazo
Pedro Morel por supuesto Python es un gran lenguaje pero ojalá el prf Juan haga también uno de c++ sin duda algo que esperamos desde hace mucho y claro no voy a mentir pero me cuesta un poco la sintaxis de Python.. Saludos ✌🏼
No entiendo porque las variables "operacion" y "resultado" se deben declarar como globales dentro de las funciones, pero a la variable "numeroPantalla" no la declaran asi, siendo que es una variable externa a la funcion y se la esta modificando desde adentro (Igual que las 2 primeras variables que mencioné).. Alguie podría ayudarme?
Hola Sigo, con el curso y voy a seguir, pero tengo que "solucionar", un tema de entendimiento (razonamiento organizativo) para aplicar la herramientas que si puedo manejarlas (sintaxis) pero ¿Como aplicarla? de acuerdo a una necesidad, hasta ahora copio lo que "Juan" dice (trabajo con el IDE de Python, porque no pude instalar "sublime, VSC, ni pude habilitar Brackets, y razono en base a su video tomando nota, estoy tratando de leer otras paginas, para refrescar lo "aprendido" , asi estoy buscando pensamiento de programamdor. Tengo un muro alto por pasar, pero sigo. Saludos desde Argentina/Misiones exactamente. FELICES FIESTAS.
Raro. Cuando ingreso la primera vez va bien, hasta q le doy a sumar para poner con lo que voy a sumar, y me sale duplicado. Ej: escribo 1, le doy a sumar, oprimo el boton 2 y me sale "22" en pantalla.
Hola, gracias por tus videos son muy buenos me gustaria que me ayudaras a diseñar una interfaz para un programa de registro de un parqueadero, te agradeceria mucho si al menos me orientas como hacerlo.
Tengo una duda: Probe sacarle las etiquetas "global" a las variables para ver que pasaba y resulta que puedo ejecutar el programa pero al pulsar un tecla de la caltuladora me arroja este error: if reset_pantalla!=False: UnboundLocalError: local variable 'reset_pantalla' referenced before assignment Lo que no entiendo es por que arroja ese error si en mis primeras lineas de codigo tengo lo siguiente: from tkinter import * operacion = "" reset_pantalla = False claramente reset_pantalla es una variable global y tiene ya un vaor asignado. entiendo que el programa no deberia funcionar correntamente, pero no entiendo por que arroja ese error : - /
@@gabrielgonzalezmelgarejo lamentablemente no se pude volver al mundo de la programacion. termino la pandemia y tuve que volver a mi trabajo y ya no me quedo tiempo para esto. Y ya pasaron 2 años. La verdad ya no me recuerdo por que habra sido 😕
Muy bueno el video. Se puede hacer que la pantalla ocupe 2 lineas? Intente hacer lo mismo que hiciste para que le pantalla ocupe 4 columnas, pero al colocar rowspan=3 no pasaba nada. La pantalla negra se quedaba del mismo grosor, en una linea.
la pantalla como sabes es un Entry y por definición del widget está hecho para ingresar Una solo línea de texto. Si requieres otra debes usar un text o bien dos entry, todo depende de lo que quieras hace. En mi modesta opinión...
hola, profesor. Estoy en este video del curso y quiero- para practicar- crear una calculadora mas compleja que pueda hacer limites, derivadas e integrales, crees que seria mejor usar modulos en lugar de hacerlo todo en un solo archivo? quiero usar sympy, ya que me parece una muy buena libreria. Gracias de antemano aprovecho ademas para agradecerle por todo el esfuerzo que pone en estos videos, la verdad la OOP no la entendia bien, pero ya me quedo claro. Perdon por las tildes, mi teclado no las tiene
Como crear el boto C para limpiar la pantalla? def limpiar(): global operacion operacion=("") numeroPantalla.set(operacion) esto no me funcionó...ayuda por favor
Yo usé un booleano donde 'False' es borrar un número y True es borrar todo: def borrarTeclado(delete): if(delete==True): pantalla.delete(0,END) pantalla.insert(0,"0") else: txt=pantalla.get()[:-1] # Copiamos desde el primer número hasta el penúltimo. pantalla.delete(0,END) # Borramos todo. pantalla.insert(0,txt) # Pegamos el desde el primer número hasta el penúltimo (i.e. borrar el último). if(len(pantalla.get())==0): pantalla.insert(0,"0") Ya sólo llamas dos nuevos botones. Yo hice estos: botonBorrarAll=Button(miFrame,text="Del",width=3, command=lambda:borrarTeclado(True)) botonBorrarAll.grid(row=2,column=3) botonBorrar=Button(miFrame,text="
Hola... Estoy siguiendo el curso y tengo un proyecto en el que me he atascado en lo más sencillo, creo. El frame ya lo tengo en fullscreen con la función miFrame.pack(fill="both",expand=1) Pero al introducir el fondo, una imagen png de un plano, la imagen no cabe, la he reducido de 25Kb a 11Kb y no cabe en el frame, solo entra una cuarta parte. Alguien sabe como hacerlo??? Saludos.
Cual ese el tamaño de tu frame y el de tu imagen?. Mira el frame tiene que ser del mismo tamaño que tu imagen ademas la imagen no se tiene que redimencionar.
@@gironperegrinaramonalonso3897 Hola Gracias por la rápida respuesta. Aprovecho para felicitarte por el curso. El tamaño de la foto es 1600x1280 y el frame tiene el mismo. Uso estas institrucciones miFrame.pack(full="both", expand="True") miFrame.config(width="1600", height="1280") Y la raíz no tiene atributos para que se ajuste al frame... Saludos
Llevo tiempo intentando lo del float y no me sale... el programa no reconoce la coma como el simbolo de decimales, y no se como hacerlo, a ver si en proximos videos lo explica :) lo consigo, pero con lineas como esta, que es complicado de entender: numeroPantalla.set((str((resultado+float((numeroPantalla.get()).replace(",","."))))).replace(".",",")) sustituyendo las comas por puntos, pasando a float, sumando, transformando a string, y finalmente cambiando los puntos por comas para que en pantalla se sigan viendo comas.
Buenas....el código, bajo este mensaje, funciona mal con los decimales. Les dejo un el nuevo código en formato .pyw y compilado en un .exe para quien quiera probarlo. Saludos drive.google.com/open?id=1fhSWKIaImbNUCZPf5rNtrgVqcODvoLM0
nunca me anduvo la calculadora por que mi python no quiere cambiar el StringVar a numero entero, si a alguien le paso y sabe como ayudarme se lo agradecere...
Hola, si alguien puede ayudarme, tengo un problema que no puedo entender en las siguientes lineas. resultado+=int(num) # line 48, in suma resultado += int(num) botonSuma=Button(miFrame, text="+", width=3, command=lambda:suma(numeroPantalla.get)) # line 87, in botonSuma=Button(miFrame, text="+", width=3, command=lambda:suma(numeroPantalla.get)) Me da error de identacion y TypeError: int() argument must be a string, a bytes-like object or a real number, not 'method'. Me trabe, no logro solucionarlo y me frustre. Si alguien me puede iluminar por favor
Ya no le creo, el programa del vídeo presenta un error en la linea 48 al minuto 2:15 no entiendo como le funciona si PHYTON cuando detecta una linea de error no permite continuar, pienso que estos vídeos son editados para engañar al publico mal hecho de su parte, yo monte ese programa y presenta errores de compilación.
Que no te funcione a ti, no indica que no le funcione a los demás. Lee los comentarios y revisa cuantas quejas hay de tu mismo caso y verás lo nulo que es. Antes de culpar al otro, revisate a ti mismo. Aprenderás mucho de ese modo.
jajajajajajaja esto es ya lo que me faltaba por leer. "Engañar al público". Después de 20 años dando clases presenciales, te puedo decir que el error de tu programa se encuentra entre el teclado y la silla. Lee estos comentarios para que veas cómo engaño al público: www.pildorasinformaticas.es/archivos/menciones.html
Antes de hacer acusaciones tan gruesas, sobre todo si estás aprendiendo a programar, tómate la molestia de comprobar cuidadosamente que tu sintaxis es correcta y también que todo el software está correctamente instalado en tu máquina. Un saludo!
JAJAJA "Profesor" yo hablo por mi no por los demas, si explica un código que no funciona para que hace perder el tiempo, tantos códigos de calculadoras que hay en internet y mejores que si funcionan escoja uno expliqué sobre él y no haga perder el tiempo a la gente "profesor".
@@66pulsario Sabes a mi me ha pasado varias veces eso... y es por que la version que usa para enseñar en el video y la que yo uso para practicar son diferentes, fijate en que año se hizo el video en el año 2018, estamos en el 2020, obviamente habran cosas diferentes.. Lo que yo hago para solucionarlo es googlear y muchas veces me ha tocado cambiar el codigo y eso no es por que el chico que hace el video nos engañe si no por que son versiones diferentes, y ademas yo uso Kali Linux y cambia en algunas cosas la sintaxys... Pero ademas de eso, todo me a funcionado bien, si alguna funcion o codigo que escribe en el video no me funciona, voy y busco en google cual es la nueva sintaxys para mi version en linux... modifico y magicamente me funciona todo
✅✅ ✅ ✅ ✅ 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. 💥💥💥
Hay alguna forma de evitar que si pulsas el botón + todo el rato sin estar especificando ningún numero se sigan sumando los números? Es decir y tal como esta él codigo ahora, tu escribes 2 le das + y sin haber introducido ningún segundo numero suma 2 y 2, con lo cual deja 4 en pantalla, de nuevo le das a + y recoge nuestro 4 de la pantalla, y así espameando el botón + sin estar agregando nada hace: 2+2+4+4+8+8+16+16+32+32.
Es lo que veo con la diferencia de la calculadora de windows.
Soy novato en phyton, ¿Como se controlaría esto?
7 años del curso y recien lo arranco sos un tipaso pildoras gracias por tanto pienso dejarte este coment cada vez que termine un video mil gracias
Otro maravilloso video de este gran profesor, muchas gracias.
Profe muchas gracias, es un gran curso, todo bien detallado, muchas gracias por explicar tan bien, y convertir lo complejo en sencillo
Tú nombre debería quedar grabado en la historia, caballero de pildorasinformaticas.
Señor muchas gracias por tus videos de verdad me ha ayudado mucho con mi proyecto final de python le quiero mucho
Me siento como Tokio y usted como El Profesor de la casa de papel.
Excelentes!
sos gay
@@diegoastorodriguez7728 re
@@diegoastorodriguez7728 es re gay
Desde la clase pasada intenté resolver lo de la calculadora y me salieron muchas líneas de código, suma y hasta tuve que googlear para saber cómo jalar variables globales y pum!! Que veo el vídeo y que las usas, no andaba tan perdido, lo que sí, es que lo optimizador mejor, espero algún día ser igual de bueno que tú Juan
Para los que usan el IDLE y les da error de Syntax por los ":" del Lambda, solo pongan la L en minuscula y mas nada.
gracias!!!! estaba frustrado por ese error
Gracias, no encontraba el error. Ajajaajaja
Solo tengo palabras de agradecimiento, ya estoy esperando la aproxima clase!!
que crack ojala nunca acabe estos cursos.....
totalmente deacuerdo con usted Sebastian
Gracias por publicar más de Python :)
estupendo curso, gracias a dios le di a la campanita por que no me acordaba del nombre del canal
una pildorainformatica mas para la vida...
Muy buenas tardes profesor, excelente curso 💪
Me gustaría que nos enseñe inteligencia artificial, sé que con python es más amigable la IA (eso me han dicho) con librerías como scikit-learn, AIMA, SimpleAI, estoy en 5to semestre ingeniería en networking y telecomunicaciones ( he visto programación todos los semestres) y me gustaría aprender IA, por favor profesor 💪
La propuesta no es mala en absoluto, solo que programar cosas tan concretas como una IA se alejan bastante de lo que viene siendo el aprendizaje de un lenguaje de programación. Para lo que pides al menos yo considero que seria más apropiado hacerlo en un curso de "Lógica de programación", donde se enseñen ejercicios para mejorar el pensamiento matemático, se aprendan a utilizar algoritmos básicos, se promueva el crear algoritmos propios y para este caso en concreto que mencionas se profundice en Machine Learning, que es el área especializada en IA. Todo esto es independiente al lenguaje de programación que utilice cada uno y sirve en cualquier caso.
Si ahora se explicase como utilizar librerías como Scikit-Learn o AIMA solo se estaría enseñando a utilizar dichas librerías, más no a entender un concepto como el Machine Learning y muchos se perderían entre las explicaciones.
Lo mejor es ir paso por paso, no hay que intentar correr antes de aprender a caminar.
gracias profe ya casi lo tenemos listo
Hola! Excelente curso, muchas gracias por disponibilizarlo de manera gratuita. Podrías indicarme en qué video explicas el funcionamientod e la palabra reservada "global"?
Excelente aporte, en futuros cursos creo que deberías lanzar uno de R para big data. eso llevaría a otro nivel este canal. saludos y continua compartiendo tus conocimientos.
Hola a todos!
Estoy realizando este curso de Python y otro de Excell y la duda que me surje es si creen que es mejor practicar bastante y poco a poco todos los conceptos que voy aprendiendo (bucles, condicionales, sistactica basica, etc) o si por el contrario es mejor adquirir mas conocimientos (POO y el resto del curso) y luego practicar con todos esos conocimientos.
Se que hay que practicar muchísimo para aprender pero la preguntar es si ganar conocimientos y luego ponerlos en practica todos o ir poniendo en practica los conocimentos poco a poco. Porque con bucles puedo hacer "programas" muy sencillos o liarme "todo lo que quiera" pero nose si me estoy parando demasiado en estos primeros temas
Muchas gracias y un saludo
Mejor ir poniéndolos en práctica poco a poco. Un saludo!
Super Profe ...Muchas Gracias
Excelente curso .Felicidades Profesor
Excelente profesor muchas gracias por compartir saludos
Hola, dónde encuentro el código definitivo de esta calculadora, porque me pierdo.Gracias
Lo más curioso de esto es que nunca usamos print
👀
En efecto Bro
La función print imprime en consola cuando programas te das cuanta qué no es lo mas recomendable de usar
tanta lucha que cogi aqui, hasta que busque otro video y me encontre el "eval()", una maravilla esa funcion ;cc
sencillamente espectacular !! muchas gracias. lo único que no puedo es descargarme tu programa de la calculadora.
para los numeros decimales creo que es tan sencillo como usar el metodo de strings replace y cambiar las comas por puntos y despues de realizar todos los calculos internos volver a cambiar los puntos por coma para mostrarlo en pantalla
una pregunta: el boton7=Button(miFrame, text="7", width=3, command=Lambda:numeroPulsado("7") me tira error en el : y no me pone en blue el Lambda
Debe ser muy tarde para responderte xd
Pon lambda primero minúscula y luego los ":" y el nombre de la variable
Necesitamos que siga haciendo videos en Python
Profesor mil gracias
Exelente curso. Muy bien explicado. Me gustaria que se vieran temas sobre sockets y si es posible con tkinter.
Hola, me gustaría saber si la pantalla de calculadora, se puede alarga de tamaño vertical y también darle mas tamaño a los números. El código dentro del Entry solo acepta Width pero no reconoce Height.
hola, pudiste resolver el problema?
Realmente creo que en este punto alguien que empiece desde 0 o sin conocimientos previos de programación le seria muy difícil terminar este programa "sencillo", yo estoy aprendiendo por hobby, sin embargo no me cierro a la posibilidad de estar programando algo en un futuro que me apasione, hoy tenemos a nuestro favor muchas herramientas que nos pueden ayudar a completar el Código cuando nos atascamos pero definitivamente queda mucho por recorrer.
Miguel Martínez estuvo aquí!!
jajaja , yo llevaba como media hora matandome porque me daba un error en la funcion suma , y despues de todo eso resulta que lo unico que me faltaba eran los parentesis
me paso ,hasta le pregunte a un amigo programador ,me tiro un par de tips para buscar los errores etc... despues de un tiempo se me prendio la lamparita y era que me faltaba 1 parentesis al get..
buscar tu error y solucionarlo creo que es una practica que enriquece y satisface como nada en el mundo. :D
Hola, gracias por tus cursos son muy buenos. Cristo de bendiga. Por casualidad tendras algún curso de Google Apps Script?
Una pregunta profesor. Porque en la funcion numeroPulsado la variable numeroPantalla no fue necesario pasarla como global?
Tengo la misma duda, a ver si alguien puede resolvernosla
porque es una instancia de StringVar de módulo TKinter y si mal no recuerdo las instancias de objetos son intrínsecamente globales, salvo que se codifique lo contrario. Python trata a las variables dentro de las funciones como locales a la misma y las encapsula (lo que pasa dentro de la función queda en la función, al no ser un lenguaje tan tipado y que hay que declarar todo se presta a confusión. Bueh, depende del programador. Estoy estudiando mucho python en parte porque me cansé de java y c++, es más intuitivo e incluso hasta más rápido para codificar. Y porque el 90% de las herramientas y librerías que encuentro en mi distro de Linux están realizadas en python
Juan, muchísimas gracias nuevamente por todo lo que haces por ayudar a la comunidad a salir del analfabetismo informático. Tengo una única duda respecto a este vídeo. Me pasa que el número en pantalla siempre queda en memoria, y por ende si pulso sucesivamente el botón '+' sin introducir nuevos números la pantalla de la calculadora muestra una progresión. Por ejemplo, si pulso en este orden '2 + 2 + + + +' la pantalla de la calculadora muestra '2 2 4 8 16 32 64', cuando debería quedarse en el número 4 como en una calculadora normal. ¿Tienes idea de cómo corregir esto? Lo he pensado pero no se me ocurre cómo.
tengo la misma duda.
creo que lo que voy hacer es usar
state=tk.DISABLED
que va a deshabilitar el boton cada ves que se aprete 1 ves y volver habilitarlo cada ves que ingrese un nuevo valor (0,1,2,3,4,5,6,7,8,9) no es estetico ya que el boton se vera deshabilitado pero "funcional" 😋
Hola podrias subir un curso de C++ te lo agradeceria mil años. Gracias
GENIAL
me pueden explicar el código de la resta? gracias
es ironico el comentario verdad?
de donde sale el método global resultado ?
Buenas, para quien le interese comparar les dejo mi código.
Decir que verán impreso en consola: "memoriaSuma, memoriaResta".......es simplemente para un tema de búsqueda de errores mientras hacía el programa. Verán también que cada vez que le damos a un operador el display queda a "0" en espera de un nuevo número......se puede mejorar, por supuesto!!
Saludos a todos, felicidades por el canal y a esperar una nueva entrega!!!
CÓDIGO:
from tkinter import *
raiz=Tk()
raiz.title("¡¡CALCULÍN!!")
miFrame=Frame(raiz)
miFrame.pack()
operacion = ""
memoriaSuma = 0
memoriaResta = 0
memoriaMulti = 1
memoriaDivi = 1
#--------------------------PANTALLA-------------------------------
numeroPantalla=StringVar(value="0")
pantalla=Entry(miFrame,textvariable=numeroPantalla)
pantalla.grid(row=1,column=1,padx=10,pady=10,columnspan=4)
pantalla.config(background="white",fg="green",justify="right")
#-------------------------PULSACIONES TECLADO---------------------
def numeroPulsado(num):
if numeroPantalla.get() == "0" and num == "0":
numeroPantalla.set("0")
elif numeroPantalla.get() == "0" and num == ",":
numeroPantalla.set("0,")
elif numeroPantalla.get() == "0" and num != "0":
numeroPantalla.set(num)
else:
if numeroPantalla.get().count(",") == 0:
numeroPantalla.set(numeroPantalla.get() + num)
elif numeroPantalla.get().count(",") >= 1 and num == ",":
numeroPantalla.get()
else:
numeroPantalla.set(numeroPantalla.get() + num)
#------------------------BORRAR-----------------------------------
def borra():
borrado = numeroPantalla.get()
numeroPantalla.set(borrado[0:-1])
#----------------------------OPERACIONES--------------------------
def suma():
global operacion
global memoriaSuma
global memoriaResta
global memoriaMulti
global memoriaDivi
operacion = "suma"
if memoriaResta == 0 and memoriaMulti == 1 and memoriaDivi == 1:
memoriaSuma = memoriaSuma + int(numeroPantalla.get())
numeroPantalla.set("0")
else:
if memoriaResta != 0:
memoriaSuma = memoriaResta - int(numeroPantalla.get())
numeroPantalla.set("0")
memoriaResta = 0
elif memoriaMulti != 1:
memoriaSuma = memoriaMulti * int(numeroPantalla.get())
numeroPantalla.set("0")
memoriaMulti = 1
else:
memoriaSuma = memoriaDivi / int(numeroPantalla.get())
numeroPantalla.set("0")
memoriaDivi = 1
print ("memoriaSuma ",memoriaSuma)
print ("memoriaResta ",memoriaResta)
print ("memoriaMulti ",memoriaMulti)
print ("memoriaDivi ",memoriaDivi)
def resta():
global operacion
global memoriaResta
global memoriaSuma
global memoriaMulti
global memoriaDivi
operacion = "resta"
if memoriaSuma == 0 and memoriaMulti == 1 and memoriaDivi == 1:
if memoriaResta == 0:
memoriaResta = int(numeroPantalla.get()) - memoriaResta
else:
memoriaResta = memoriaResta - int(numeroPantalla.get())
else:
if memoriaSuma != 0:
memoriaResta = memoriaSuma + int(numeroPantalla.get())
numeroPantalla.set("0")
memoriaSuma = 0
elif memoriaMulti != 1:
memoriaResta = memoriaMulti * int(numeroPantalla.get())
numeroPantalla.set("0")
memoriaMulti = 1
else:
memoriaResta = memoriaDivi / int(numeroPantalla.get())
numeroPantalla.set("0")
memoriaDivi = 1
numeroPantalla.set("0")
print ("memoriaSuma ",memoriaSuma)
print ("memoriaResta ",memoriaResta)
print ("memoriaMulti ",memoriaMulti)
print ("memoriaDivi ",memoriaDivi)
def multi():
global operacion
global memoriaMulti
global memoriaSuma
global memoriaResta
global memoriaDivi
operacion = "multi"
if memoriaSuma == 0 and memoriaResta == 0 and memoriaDivi == 1:
memoriaMulti = int(numeroPantalla.get()) * memoriaMulti
numeroPantalla.set("0")
else:
if memoriaSuma != 0:
memoriaMulti = memoriaSuma + int(numeroPantalla.get())
numeroPantalla.set("0")
memoriaSuma = 0
elif memoriaResta != 0:
memoriaMulti = memoriaResta - int(numeroPantalla.get())
numeroPantalla.set("0")
memoriaResta = 0
else:
memoriaMulti = memoriaDivi / int(numeroPantalla.get())
numeroPantalla.set("0")
memoriaDivi = 1
print ("memoriaSuma ",memoriaSuma)
print ("memoriaResta ",memoriaResta)
print ("memoriaMulti ",memoriaMulti)
print ("memoriaDivi ",memoriaDivi)
def divi():
global operacion
global memoriaDivi
global memoriaSuma
global memoriaResta
global memoriaMulti
operacion = "divi"
if memoriaSuma == 0 and memoriaResta == 0 and memoriaMulti == 1:
memoriaDivi = int(numeroPantalla.get()) / memoriaDivi
numeroPantalla.set("0")
else:
if memoriaSuma != 0:
memoriaDivi = memoriaSuma + int(numeroPantalla.get())
numeroPantalla.set("0")
memoriaSuma = 0
elif memoriaResta != 0:
memoriaDivi = memoriaResta - int(numeroPantalla.get())
numeroPantalla.set("0")
memoriaResta = 0
else:
memoriaDivi = memoriaMulti * int(numeroPantalla.get())
numeroPantalla.set("0")
memoriaMulti = 1
print ("memoriaSuma ",memoriaSuma)
print ("memoriaResta ",memoriaResta)
print ("memoriaMulti ",memoriaMulti)
print ("memoriaDivi ",memoriaDivi)
def igual():
global operacion
global memoriaSuma
global memoriaResta
global memoriaMulti
global memoriaDivi
if operacion == "suma":
numeroPantalla.set(memoriaSuma + int(numeroPantalla.get()))
memoriaSuma = 0
elif operacion == "resta":
numeroPantalla.set(memoriaResta - int(numeroPantalla.get()))
memoriaResta = 0
elif operacion == "multi":
numeroPantalla.set(memoriaMulti * int(numeroPantalla.get()))
memoriaMulti = 1
else:
numeroPantalla.set(memoriaDivi / int(numeroPantalla.get()))
memoriaDivi = 1
print ("memoriaSuma ",memoriaSuma)
print ("memoriaResta ",memoriaResta)
print ("memoriaMulti ",memoriaMulti)
print ("memoriaDivi ",memoriaDivi)
#----------------------------FILA 1-------------------------------
boton7=Button(miFrame,text="7",width=9,command=lambda:numeroPulsado("7"))
boton7.grid(row=2,column=1)
boton8=Button(miFrame,text="8",width=9,command=lambda:numeroPulsado("8"))
boton8.grid(row=2,column=2)
boton9=Button(miFrame,text="9",width=9,command=lambda:numeroPulsado("9"))
boton9.grid(row=2,column=3)
botonDiv=Button(miFrame,text="/",width=9,command=lambda:divi())
botonDiv.grid(row=2,column=4)
#--------------------------FILA 2---------------------------------
boton4=Button(miFrame,text="4",width=9,command=lambda:numeroPulsado("4"))
boton4.grid(row=3,column=1)
boton5=Button(miFrame,text="5",width=9,command=lambda:numeroPulsado("5"))
boton5.grid(row=3,column=2)
boton6=Button(miFrame,text="6",width=9,command=lambda:numeroPulsado("6"))
boton6.grid(row=3,column=3)
botonMult=Button(miFrame,text="x",width=9,command=lambda:multi())
botonMult.grid(row=3,column=4)
#---------------------------FILA 3-------------------------------
boton1=Button(miFrame,text="1",width=9,command=lambda:numeroPulsado("1"))
boton1.grid(row=4,column=1)
boton2=Button(miFrame,text="2",width=9,command=lambda:numeroPulsado("2"))
boton2.grid(row=4,column=2)
boton3=Button(miFrame,text="3",width=9,command=lambda:numeroPulsado("3"))
boton3.grid(row=4,column=3)
botonRest=Button(miFrame,text="-",width=9,command=lambda:resta())
botonRest.grid(row=4,column=4)
#---------------------------FILA 4---------------------------------
boton0=Button(miFrame,text="0",width=9,command=lambda:numeroPulsado("0"))
boton0.grid(row=5,column=1)
botonComa=Button(miFrame,text=",",width=9,command=lambda:numeroPulsado(","))
botonComa.grid(row=5,column=2)
botonIgual=Button(miFrame,text="=",width=9,command=lambda:igual())
botonIgual.grid(row=5,column=3)
botonSuma=Button(miFrame,text="+",width=9,command=lambda:suma())
botonSuma.grid(row=5,column=4)
#-----------------------------FILA 5-----------------------------------
botonBorra=Button(miFrame,text="BORRAR",width=18,fg="red",command=lambda:borra())
botonBorra.grid(row=6,column=2,columnspan=2,pady=10)
raiz.mainloop()
Da error al presionar igual más de una vez
Hola! muchas gracias por compartir tu código, estoy recién aprendiendo esto y estoy un poco complicada. Por qué al momento de codificar la suma pones operadores de multiplicación o resta? no debería todo sumarse?, intenté poner todo con suma y no me funciona, pero no entiendo la lógica.
En esta parte:
else:
if memoriaResta != 0:
memoriaSuma = memoriaResta - int(numeroPantalla.get())
numeroPantalla.set("0")
memoriaResta = 0
elif memoriaMulti != 1:
memoriaSuma = memoriaMulti * int(numeroPantalla.get())
numeroPantalla.set("0")
memoriaMulti = 1
else:
memoriaSuma = memoriaDivi / int(numeroPantalla.get())
numeroPantalla.set("0")
memoriaDivi = 1
@@catacabello2569 releyendo por encima tampoco entiendo porqué lo puse...😲
Entiendo también que en cuando memoriaResta != 0 significa que se ha hecho una resta anteriormente, por lo tanto el nuevo valor de la variable memoriaSuma debería asignarle el valor de memoriaResta + el valor introducido.
De aquí podemos aprender la necesidad de comentar siempre el código 😉
@@redmaytals esta mal tu codigo bro xd al apretar un boton de operacion no da nada y te muestra numeros en el IDLE de python xd
Si alguno no utilizó argumento para su stringvar() ni el lambda y ahora quiere transformarlo en entero para sumarlo con el resultado; en lugar de volver en entero el stringvar() llamen lo que ha obtenido el stringvar() para que no le de el error de no poder transformar a entero un strvar(). digamos que "strv= Stringvar()", con " int(strv.get())" lo transforman en entero
No puedo hacer que entienda. Que num es entero
gracias no podia hacer que lo convierta, en mi caso cambie :
resultado += int(num)
por:
resultado += int(numeroPantalla.get())
y anduvo, lo que no entiendo es por que a el le funciona con NUM.
Buenas tardes. Tengo una duda que no puedo resolver. Como puedo hacer para que, al momento de pulsar por ejemplo el botón "suma", me muestre el símbolo "+" y luego realice la operación? En el ejemplo, cuando apretamos sumar se mantienen los números escritos anteriormente y desaparecen (se guardan en la variable) al colocar los siguientes números. Yo quiero que me muestre la operación que voy a realizar. Muchas gracias
Con la funcion eval() con esta funcion puedes pasarle un string por ejemplo: 2+2 y realizará la operacion no se mucho sobre esa funcion pero puedes investigar yo tambien me preguntaba lo mismo y en internet encontre esa función suerte!
Buenas a mi me salta una duda. Operacion y resultado son globales, porque numeropantalla no es global?. Muchas gracias
Porque a numero de pantalla le estás llamando a través de los métodos ".set" y ".get" mientras que a operación y resultado las estás manipulando dentro de la función utilizando como llamada a la variable externa a la función el método "global". Si estoy equivocado, corregidme por favor. Gracias!!!!!!
@@abacabador nah..tienes razón :)
Cuando haces un curso de c++??
Ivan solis si, lo necesitamos
White Blanca sin duda alguna, definitiva mente lo esperamos de este gran profe✌🏼
Uufff amigos Python es el lenguaje más usado de la actualidad, porfa C++ es un grandiisisiisisissisimo lenguaje y de mucha actualidad, pero todavía sería muy bueno seguir con Python, un abrazo
Pedro Morel por supuesto Python es un gran lenguaje pero ojalá el prf Juan haga también uno de c++ sin duda algo que esperamos desde hace mucho y claro no voy a mentir pero me cuesta un poco la sintaxis de Python.. Saludos ✌🏼
No entiendo porque las variables "operacion" y "resultado" se deben declarar como globales dentro de las funciones, pero a la variable "numeroPantalla" no la declaran asi, siendo que es una variable externa a la funcion y se la esta modificando desde adentro (Igual que las 2 primeras variables que mencioné)..
Alguie podría ayudarme?
hola, ya te explicaron el porque?, quisiera saberlo también
@@gabrielgonzalezmelgarejo La verdad que deje de programar y hoy en día no tengo ni la más pálida idea de que es todo esto jajaja
Hola Sigo, con el curso y voy a seguir, pero tengo que "solucionar", un tema de entendimiento (razonamiento organizativo) para aplicar la herramientas que si puedo manejarlas (sintaxis) pero ¿Como aplicarla? de acuerdo a una necesidad, hasta ahora copio lo que "Juan" dice (trabajo con el IDE de Python, porque no pude instalar "sublime, VSC, ni pude habilitar Brackets, y razono en base a su video tomando nota, estoy tratando de leer otras paginas, para refrescar lo "aprendido" , asi estoy buscando pensamiento de programamdor. Tengo un muro alto por pasar, pero sigo. Saludos desde Argentina/Misiones exactamente. FELICES FIESTAS.
Raro. Cuando ingreso la primera vez va bien, hasta q le doy a sumar para poner con lo que voy a sumar, y me sale duplicado.
Ej: escribo 1, le doy a sumar, oprimo el boton 2 y me sale "22" en pantalla.
alguno sabe porque da error si yo utilizo la forma de reulstado=resultado+int(Num)?
Igual a mi me da error en esa parte, no se como arreglarlo.
Perdon si ya contestaste esto pero habra curso de django ¿? Ya estoy aprendiendo python con un libro pero igual despues me pasare por tu curso ❤
Si, habra
Hola, gracias por tus videos son muy buenos me gustaria que me ayudaras a diseñar una interfaz para un programa de registro de un parqueadero, te agradeceria mucho si al menos me orientas como hacerlo.
alguien pudo terminar ?? yo no pude continuar
Tengo una duda: Probe sacarle las etiquetas "global" a las variables para ver que pasaba y resulta que puedo ejecutar el programa pero al pulsar un tecla de la caltuladora me arroja este error:
if reset_pantalla!=False:
UnboundLocalError: local variable 'reset_pantalla' referenced before assignment
Lo que no entiendo es por que arroja ese error si en mis primeras lineas de codigo tengo lo siguiente:
from tkinter import *
operacion = ""
reset_pantalla = False
claramente reset_pantalla es una variable global y tiene ya un vaor asignado. entiendo que el programa no deberia funcionar correntamente, pero no entiendo por que arroja ese error : - /
bueno ya entendi por que arroja ese error. Si a alguien le interesa saber por que, me avisa ;-)
@@redadicto porque arroja ese error bro?
@@gabrielgonzalezmelgarejo lamentablemente no se pude volver al mundo de la programacion. termino la pandemia y tuve que volver a mi trabajo y ya no me quedo tiempo para esto. Y ya pasaron 2 años. La verdad ya no me recuerdo por que habra sido 😕
Muy bueno el video. Se puede hacer que la pantalla ocupe 2 lineas? Intente hacer lo mismo que hiciste para que le pantalla ocupe 4 columnas, pero al colocar rowspan=3 no pasaba nada. La pantalla negra se quedaba del mismo grosor, en una linea.
la pantalla como sabes es un Entry y por definición del widget está hecho para ingresar Una solo línea de texto. Si requieres otra debes usar un text o bien dos entry, todo depende de lo que quieras hace. En mi modesta opinión...
hola, profesor. Estoy en este video del curso y quiero- para practicar- crear una calculadora mas compleja que pueda hacer limites, derivadas e integrales, crees que seria mejor usar modulos en lugar de hacerlo todo en un solo archivo?
quiero usar sympy, ya que me parece una muy buena libreria. Gracias de antemano
aprovecho ademas para agradecerle por todo el esfuerzo que pone en estos videos, la verdad la OOP no la entendia bien, pero ya me quedo claro. Perdon por las tildes, mi teclado no las tiene
Como crear el boto C para limpiar la pantalla?
def limpiar():
global operacion
operacion=("")
numeroPantalla.set(operacion)
esto no me funcionó...ayuda por favor
Puedes usar lo siguiente...
def limpiar():
pantalla.delete(0, END)
Yo usé un booleano donde 'False' es borrar un número y True es borrar todo:
def borrarTeclado(delete):
if(delete==True):
pantalla.delete(0,END)
pantalla.insert(0,"0")
else:
txt=pantalla.get()[:-1] # Copiamos desde el primer número hasta el penúltimo.
pantalla.delete(0,END) # Borramos todo.
pantalla.insert(0,txt) # Pegamos el desde el primer número hasta el penúltimo (i.e. borrar el último).
if(len(pantalla.get())==0):
pantalla.insert(0,"0")
Ya sólo llamas dos nuevos botones. Yo hice estos:
botonBorrarAll=Button(miFrame,text="Del",width=3, command=lambda:borrarTeclado(True))
botonBorrarAll.grid(row=2,column=3)
botonBorrar=Button(miFrame,text="
Hola...
Estoy siguiendo el curso y tengo un proyecto en el que me he atascado en lo más sencillo, creo.
El frame ya lo tengo en fullscreen con la función miFrame.pack(fill="both",expand=1)
Pero al introducir el fondo, una imagen png de un plano, la imagen no cabe, la he reducido de 25Kb
a 11Kb y no cabe en el frame, solo entra una cuarta parte.
Alguien sabe como hacerlo???
Saludos.
Cual ese el tamaño de tu frame y el de tu imagen?. Mira el frame tiene que ser del mismo tamaño que tu imagen ademas la imagen no se tiene que redimencionar.
@@gironperegrinaramonalonso3897
Hola
Gracias por la rápida respuesta.
Aprovecho para felicitarte por el curso.
El tamaño de la foto es 1600x1280 y el frame tiene el mismo.
Uso estas institrucciones
miFrame.pack(full="both", expand="True")
miFrame.config(width="1600", height="1280")
Y la raíz no tiene atributos para que se ajuste al frame...
Saludos
Hola...
Ya le conseguido reduciendo el tamaño de la imagen...
Gracias...
Eres algo parecido a un genio cruzado con angel
posta mais videos de python por favor
Llevo tiempo intentando lo del float y no me sale... el programa no reconoce la coma como el simbolo de decimales, y no se como hacerlo, a ver si en proximos videos lo explica :)
lo consigo, pero con lineas como esta, que es complicado de entender:
numeroPantalla.set((str((resultado+float((numeroPantalla.get()).replace(",","."))))).replace(".",","))
sustituyendo las comas por puntos, pasando a float, sumando, transformando a string, y finalmente cambiando los puntos por comas para que en pantalla se sigan viendo comas.
yo solo cambie la coma por el punto es esta parte:
command=lambda:numeroPulsado('.')
me da un error estoy usando python 2.7.7
actualizate hermano
Buenas....el código, bajo este mensaje, funciona mal con los decimales. Les dejo un el nuevo código en formato .pyw y compilado en un .exe para quien quiera probarlo. Saludos
drive.google.com/open?id=1fhSWKIaImbNUCZPf5rNtrgVqcODvoLM0
Wow tío, eres mi ídolo xd
mil gracias.
9:50
?
nunca me anduvo la calculadora por que mi python no quiere cambiar el StringVar a numero entero, si a alguien le paso y sabe como ayudarme se lo agradecere...
yo entiendo que el stringvar es un string por definicion. Lo que hay que transformar en entero es numeroPantalla.get()
resultado += int(num)
por:
resultado += int(numeroPantalla.get())
Aquí ya me perdí un poco
añades global sin explicar nada, fantastico, en la linea de tu anterior video
Googlealo, Fin.
me pueden ayudar, me sale este error y tengo todo igual al tutorial , minuto 13:48
TypeError: unsupported operand type(s) for +=: 'int' and 'method'
resultado += int(num)
por:
resultado += int(numeroPantalla.get())
@@nickenbrote A mí me sigue sin funcionar, me tira exactamente el mismo error
@@emilianoescobedo1104 Cuando es asi, solo cambialo, es lo mismo que decir "RESULTADO = RESULTADO + NUM"
Hola, si alguien puede ayudarme, tengo un problema que no puedo entender en las siguientes lineas.
resultado+=int(num) # line 48, in suma resultado += int(num)
botonSuma=Button(miFrame, text="+", width=3, command=lambda:suma(numeroPantalla.get)) # line 87, in botonSuma=Button(miFrame, text="+", width=3, command=lambda:suma(numeroPantalla.get))
Me da error de identacion y TypeError: int() argument must be a string, a bytes-like object or a real number, not 'method'.
Me trabe, no logro solucionarlo y me frustre. Si alguien me puede iluminar por favor
Si alguien llega a tener el mismo problema la solucion es agregar un par mas de () en ==> suma(numeroPantalla.get()))
AYUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Ya no le creo, el programa del vídeo presenta un error en la linea 48 al minuto 2:15 no entiendo como le funciona si PHYTON cuando detecta una linea de error no permite continuar, pienso que estos vídeos son editados para engañar al publico mal hecho de su parte, yo monte ese programa y presenta errores de compilación.
Que no te funcione a ti, no indica que no le funcione a los demás. Lee los comentarios y revisa cuantas quejas hay de tu mismo caso y verás lo nulo que es.
Antes de culpar al otro, revisate a ti mismo. Aprenderás mucho de ese modo.
jajajajajajaja esto es ya lo que me faltaba por leer. "Engañar al público". Después de 20 años dando clases presenciales, te puedo decir que el error de tu programa se encuentra entre el teclado y la silla. Lee estos comentarios para que veas cómo engaño al público: www.pildorasinformaticas.es/archivos/menciones.html
Antes de hacer acusaciones tan gruesas, sobre todo si estás aprendiendo a programar, tómate la molestia de comprobar cuidadosamente que tu sintaxis es correcta y también que todo el software está correctamente instalado en tu máquina. Un saludo!
JAJAJA "Profesor" yo hablo por mi no por los demas, si explica un código que no funciona para que hace perder el tiempo, tantos códigos de calculadoras que hay en internet y mejores que si funcionan escoja uno expliqué sobre él y no haga perder el tiempo a la gente "profesor".
@@66pulsario Sabes a mi me ha pasado varias veces eso... y es por que la version que usa para enseñar en el video y la que yo uso para practicar son diferentes, fijate en que año se hizo el video en el año 2018, estamos en el 2020, obviamente habran cosas diferentes.. Lo que yo hago para solucionarlo es googlear y muchas veces me ha tocado cambiar el codigo y eso no es por que el chico que hace el video nos engañe si no por que son versiones diferentes, y ademas yo uso Kali Linux y cambia en algunas cosas la sintaxys... Pero ademas de eso, todo me a funcionado bien, si alguna funcion o codigo que escribe en el video no me funciona, voy y busco en google cual es la nueva sintaxys para mi version en linux... modifico y magicamente me funciona todo
Ha decaido mucho este curso.. es como ver stark ever flow.. solo ver que colocar.. pero sin entender a fondo los conceptos nuevos...
Naa, simplemente se complica y hay gente que no puede mantener el ritmo.