From muammar en proyectociencia.org Wed Jun 3 05:49:13 2009 From: muammar en proyectociencia.org (Muammar El Khatib) Date: Tue, 02 Jun 2009 23:19:13 -0430 Subject: [GUPy] =?utf-8?q?Terminar_el_cap=C3=ADtulo_que_falta=2E?= Message-ID: <6a0e495326e5cab4e7ca5ace9f7926cd@proyectociencia.org> Hola, Espero que estén bien. Propongo este sábado terminar el capítulo que quedó pendiente. ¿Qué dicen? Saludos, -- Muammar El Khatib. Linux user: 403107. GPG Key = 127029F1 http://proyectociencia.org From alejandroalvs en hotmail.com Wed Jun 3 05:56:40 2009 From: alejandroalvs en hotmail.com (alejandro alvarez) Date: Tue, 2 Jun 2009 23:56:40 -0400 Subject: [GUPy] =?iso-8859-1?q?Terminar_el_cap=EDtulo_que_falta=2E?= In-Reply-To: <6a0e495326e5cab4e7ca5ace9f7926cd@proyectociencia.org> References: <6a0e495326e5cab4e7ca5ace9f7926cd@proyectociencia.org> Message-ID: > > Hola, Hola > > Espero que estén bien. Propongo este sábado terminar el capítulo que > quedó pendiente. ¿Qué dicen? +1 creo que deberiamos discutir el 5 de una vez, pues el 4 no es tan dificil así recuperamos un poco las faltas en las semanas anteriores :) > > Saludos, Saludos. > Alejandro J. Alvarez S. Linux Registered User #483871 http://scialvarez.blogspot.com http://www.proyectociencia.org +58-261-7141182 _________________________________________________________________ News, entertainment and everything you care about at Live.com. Get it now! http://www.live.com/getstarted.aspx ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From muammar en proyectociencia.org Wed Jun 3 14:59:22 2009 From: muammar en proyectociencia.org (Muammar El Khatib) Date: Wed, 03 Jun 2009 08:29:22 -0430 Subject: [GUPy] =?iso-8859-1?q?Terminar_el_cap=EDtulo_que_falta=2E?= In-Reply-To: References: <6a0e495326e5cab4e7ca5ace9f7926cd@proyectociencia.org> Message-ID: <4A2673AA.2090704@proyectociencia.org> Hola, On, 06/02/2009 11:26 PM, alejandro alvarez wrote: >> >> Hola, > > Hola > >> >> Espero que estén bien. Propongo este sábado terminar el capítulo que >> quedó pendiente. ¿Qué dicen? > > +1 creo que deberiamos discutir el 5 de una vez, pues el 4 no es tan dificil > > así recuperamos un poco las faltas en las semanas anteriores :) > Entonces nos vemos el sábado. ¿A qué horas les parece bien? Saludos, -- Muammar El Khatib. Linux user: 403107. Key fingerprint = 90B8 BFC4 4A75 B881 39A3 1440 30EB 403B 1270 29F1 http://muammar.me | http://proyectociencia.org ,''`. : :' : `. `' `- From alejandroalvs en hotmail.com Thu Jun 4 21:11:59 2009 From: alejandroalvs en hotmail.com (alejandro alvarez) Date: Thu, 4 Jun 2009 15:11:59 -0400 Subject: [GUPy] =?iso-8859-1?q?Terminar_el_cap=EDtulo_que_falta=2E?= In-Reply-To: <4A2673AA.2090704@proyectociencia.org> References: <6a0e495326e5cab4e7ca5ace9f7926cd@proyectociencia.org> <4A2673AA.2090704@proyectociencia.org> Message-ID: > Hola, Hola > > On, 06/02/2009 11:26 PM, alejandro alvarez wrote: > >> > >> Hola, > > > > Hola > > > >> > >> Espero que estén bien. Propongo este sábado terminar el capítulo que > >> quedó pendiente. ¿Qué dicen? > > > > +1 creo que deberiamos discutir el 5 de una vez, pues el 4 no es tan dificil > > > > así recuperamos un poco las faltas en las semanas anteriores :) > > > > Entonces nos vemos el sábado. ¿A qué horas les parece bien? No hay restricciones de ningun tipo. > Saludos, Saludos. _________________________________________________________________ Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy! http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friends.aspx&mkt=en-us ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From muammar en proyectociencia.org Fri Jun 5 04:59:32 2009 From: muammar en proyectociencia.org (Muammar El Khatib) Date: Thu, 04 Jun 2009 22:29:32 -0430 Subject: [GUPy] =?utf-8?q?Terminar_el_cap=C3=ADtulo_que_falta=2E?= In-Reply-To: References: <6a0e495326e5cab4e7ca5ace9f7926cd@proyectociencia.org> <4A2673AA.2090704@proyectociencia.org> Message-ID: On Thu, 4 Jun 2009 15:11:59 -0400, alejandro alvarez wrote: >> >> Entonces nos vemos el sábado. ¿A qué horas les parece bien? > > No hay restricciones de ningun tipo. Bueno, mañana ponemos la hora. Por cierto, ¿habrá una manera de informar a los participantes de moodle? http://proyectociencia.org/moodle/user/index.php?contextid=46 Yo he colocado un pequeño post en http://proyectociencia.org/moodle/blog/index.php?filtertype=course&filterselect=5 He visto que están suscritos en el moodle, pero solo veo en la lista de correo (además de los que ya estaban) a Wuilliam Lacruz. Espero que Wuilliam lea este correo y pueda sumarse a la discusión de este sábado. Saludos, -- Muammar El Khatib. Linux user: 403107. GPG Key = 127029F1 http://proyectociencia.org From wuilliam321 en gmail.com Fri Jun 5 05:38:21 2009 From: wuilliam321 en gmail.com (Wuilliam Lacruz) Date: Fri, 5 Jun 2009 23:08:21 +1930 Subject: [GUPy] =?iso-8859-1?q?Terminar_el_cap=EDtulo_que_falta=2E?= In-Reply-To: References: <6a0e495326e5cab4e7ca5ace9f7926cd@proyectociencia.org> <4A2673AA.2090704@proyectociencia.org> Message-ID: <257d6f90906042038t76d5b1ccg441e6c48e2884242@mail.gmail.com> Claro, lo que me tienen que decir es la hora! para yo hacer los calculos aqui y ver si estoy despierto a esa hora! :P yo soy de venezuela, no se como sea la diferencia horaria! Yo llevo un tanto adelantado la guia! pero si me gustaria compartir un poco las experiencias y hacer ejercicios! ir madurando un poco! El día 5 de junio de 2009 22:29, Muammar El Khatib escribió: > On Thu, 4 Jun 2009 15:11:59 -0400, alejandro alvarez > wrote: >>> >>> Entonces nos vemos el sábado. ¿A qué horas les parece bien? >> >> No hay restricciones de ningun tipo. > > Bueno, mañana ponemos la hora. Por cierto, ¿habrá una manera de informar > a los participantes de moodle? > http://proyectociencia.org/moodle/user/index.php?contextid=46 > > Yo he colocado un pequeño post en > http://proyectociencia.org/moodle/blog/index.php?filtertype=course&filterselect=5 > > He visto que están suscritos en el moodle, pero solo veo en la lista de > correo (además de los que ya estaban) a Wuilliam Lacruz. Espero que > Wuilliam lea este correo y pueda sumarse a la discusión de este sábado. > > Saludos, > -- > Muammar El Khatib. > Linux user: 403107. > GPG Key = 127029F1 > http://proyectociencia.org > _______________________________________________ > GUPy mailing list > GUPy en proyectociencia.org > http://proyectociencia.org/cgi-bin/mailman/listinfo/gupy > -- Wuilliam A. Lacruz M. - TaHaNoM [Usuario GNU/Linux #449734] en Gentoo Linux - Kernel 2.6.28-gentoo-r5 URL = http://tahanom.blogspot.com/ Huella de clave = E620 A1CB 29C7 40FD C4A2 A9F3 A91B 07B7 11FF 64C3 From muammar en proyectociencia.org Fri Jun 5 15:59:11 2009 From: muammar en proyectociencia.org (Muammar El Khatib) Date: Fri, 05 Jun 2009 09:29:11 -0430 Subject: [GUPy] =?utf-8?q?Terminar_el_cap=C3=ADtulo_que_falta=2E?= In-Reply-To: <257d6f90906042038t76d5b1ccg441e6c48e2884242@mail.gmail.com> References: <6a0e495326e5cab4e7ca5ace9f7926cd@proyectociencia.org> <4A2673AA.2090704@proyectociencia.org> <257d6f90906042038t76d5b1ccg441e6c48e2884242@mail.gmail.com> Message-ID: <9bc2eefd5bbdba9fe4e6129711a39d62@proyectociencia.org> Hola, On Fri, 5 Jun 2009 23:08:21 +1930, Wuilliam Lacruz wrote: > Claro, lo que me tienen que decir es la hora! para yo hacer los > calculos aqui y ver si estoy despierto a esa hora! :P yo soy de > venezuela, no se como sea la diferencia horaria! > Los que hemos estado asistiendo al curso somos Venezolanos. Pero sería importante dar la hora en tiempo estándar porque hay participantes de Colombia y España. Propongo las 18:30 UTC, que vendrían siendo las 14:00 Hrs. aquí en Venezuela (GMT -4:30). > Yo llevo un tanto adelantado la guia! pero si me gustaria compartir un > poco las experiencias y hacer ejercicios! ir madurando un poco! Me parece perfecto. Sería importante para todos compartir experiencias, y hacer ejercicios. :) Saludos, -- Muammar El Khatib. Linux user: 403107. GPG Key = 127029F1 http://proyectociencia.org From muammar en proyectociencia.org Sat Jun 6 22:21:39 2009 From: muammar en proyectociencia.org (Muammar El Khatib) Date: Sat, 06 Jun 2009 15:51:39 -0430 Subject: [GUPy] =?utf-8?q?Terminar_el_cap=C3=ADtulo_que_falta=2E?= In-Reply-To: <257d6f90906042038t76d5b1ccg441e6c48e2884242@mail.gmail.com> References: <6a0e495326e5cab4e7ca5ace9f7926cd@proyectociencia.org> <4A2673AA.2090704@proyectociencia.org> <257d6f90906042038t76d5b1ccg441e6c48e2884242@mail.gmail.com> Message-ID: <0306f878d52d921931d514fef8cef8d6@proyectociencia.org> Hola Wuilliam, On Fri, 5 Jun 2009 23:08:21 +1930, Wuilliam Lacruz wrote: > Claro, lo que me tienen que decir es la hora! para yo hacer los > calculos aqui y ver si estoy despierto a esa hora! :P yo soy de > venezuela, no se como sea la diferencia horaria! > Hoy nos reunimos Alejandro, Gioconda y mi persona. No te vimos por ahí :S entonces decidimos atrasar para mañana la reunión a eso de las 2:00 pm (Hora Venezolana). Si lees este correo, por favor responde a brevedad :), incluso si no estás de acuerdo con la hora o no puedes. > Yo llevo un tanto adelantado la guia! pero si me gustaria compartir un > poco las experiencias y hacer ejercicios! ir madurando un poco! > Nosotros discutiremos el capítulo 4 y 5. Saludos, -- Muammar El Khatib. Linux user: 403107. GPG Key = 127029F1 http://proyectociencia.org From alejandroalvs en hotmail.com Sun Jun 7 09:03:36 2009 From: alejandroalvs en hotmail.com (alejandro alvarez) Date: Sun, 7 Jun 2009 03:03:36 -0400 Subject: [GUPy] =?iso-8859-1?q?=5BP=E1gina=5D_Modificaciones_=3A=29?= In-Reply-To: <0306f878d52d921931d514fef8cef8d6@proyectociencia.org> References: <6a0e495326e5cab4e7ca5ace9f7926cd@proyectociencia.org> <4A2673AA.2090704@proyectociencia.org> <257d6f90906042038t76d5b1ccg441e6c48e2884242@mail.gmail.com> <0306f878d52d921931d514fef8cef8d6@proyectociencia.org> Message-ID: Saludos, En estos días no había tenido tiempo para trabajar en la página de GUPy, pero esta noche le dedique un rato. Sin embargo quiero aclarar que aun falta mucho, el camino a la grandeza es largo ... Modificaciones: 1) En la sección de documentación agrege el libro Dive Into Python, From Novice to Pro uno de los favoritos del mismo Guido Van Rossum (Benevolent Dictator for Life) creador de Python. 2) Además de eso, agrege tambien los pdf de todos los números de la revista The Python Papers, creo que es claro de que trata :) 3) En la sección de descargas, agrege los interpretes de python mas importantes para windows el 2.6.2 y la ultima versión 3.0.1. Coloque los enlaces de descarga de los IDE's mas conocidos para windows ... Tambien coloque instaladores para otras implementaciones de python como IronPython, Jython, PyPy .... Hice las cosas para windows porque la busqueda e instalación para Linux users es mucho mas facil (a menos que uses una distro extraña) xD de todas formas le dedicaré pronto a esta ultima parte, explicando los procesos de compilación en los casos en donde se amerite ... Saludos Cordiales, Alejandro J. Alvarez S. Linux Registered User #483871 http://scialvarez.blogspot.com http://www.proyectociencia.org +58-261-7141182 _________________________________________________________________ Explore the seven wonders of the world http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From muammar en proyectociencia.org Tue Jun 9 05:14:37 2009 From: muammar en proyectociencia.org (Muammar El Khatib) Date: Mon, 08 Jun 2009 22:44:37 -0430 Subject: [GUPy] Duda + Tarea Message-ID: Hola, Espero que estén bien. En la última reunión que tuvimos para discutir el capítulo 4 (por cierto, esta semana debemos terminar dicho capítulo). Se planteó la siguiente duda: Si tienes unos archivos, llamense file*, y queremos renombrarlos para agregarle la extensión `txt`. ¿Cómo se haría en Python? Yo he hecho esto en Bash Scripting y lo demuestro a continuación: muammar en obey:/tmp/test.py$ touch file file1 file2 file3 muammar en obey:/tmp/test.py$ ls file file1 file2 file3 muammar en obey:/tmp/test.py$ for i in `ls *file*`; \ > do > mv $i $i.txt > done muammar en obey:/tmp/test.py$ ls file1.txt file2.txt file3.txt file.txt muammar en obey:/tmp/test.py$ En Bash Scripting resulta bastante trivial, y de hecho tal vez sería la primera opción que yo escogería para tal tarea, pero ¿cómo podríamos hacer lo mismo en Python? Si alguien tiene alguna idea de cómo hacerlo, no duden en postear la solución. Quiero agregar que tenemos ahora un pastebin privado al cual pueden acceder en http://proyectociencia.org/pastebin este código en bash está en: http://proyectociencia.pastebin.com/f6b11307a Saludos, -- Muammar El Khatib. Linux user: 403107. GPG Key = 127029F1 http://proyectociencia.org From alejandroalvs en hotmail.com Mon Jun 15 07:12:32 2009 From: alejandroalvs en hotmail.com (alejandro alvarez) Date: Mon, 15 Jun 2009 01:12:32 -0400 Subject: [GUPy] Algunos cambios :) Message-ID: Saludos, Reporto algunos cambios: - El Wiki del proyecto se ha orientado a ser un repositorio de códigos (un Wiki-Codes), así que podremos publicar nuestros códigos fuente ahí. Yo he colocado uno (muy básico) solo para explicar un posi- ble formato de publicación. http://www.proyectociencia.org/Wiki/index.php/Python:_Operaciones_entre_dos_n%C3%BAmeros_reales ver también: http://proyectociencia.org/Wiki/index.php/Formato_de_Publicaci%C3%B3n http://www.proyectociencia.org/Wiki/index.php/P%C3%A1gina_Principal son libres de editar cualquier cosa, pues la verdad no revise mucho, pues me sentia un poco mal. - Se creo una página (dentro del Proyecto GUPy) explicando como unirse y/o colaborar al grupo. hacia falta, pues notamos que algunas personas se registraban en la página (tal vez buscando la manera de colaborar). Hemos explicado bien :S como hacerlo. ver: http://proyectociencia.org/gupy/?q=node/5 De nuevo, total libertad de edición de los contenidos. - Organice el moodle: Sincronice el moodle con lo que hemos discutido en las sesiones de chat. Explique en el foro que los horarios dependen de la dis- ponibilidad de los cursistas, y los invite (nuevamente) a inscribir- se en la lista de correo. - Por ultimo: Estoy tratando de hacer algo de diplomacia con: PyAr (Grupo de usuarios de Python en Argentina) PyUg (lo mismo pero en uruguay) y un grupo de Perú ... vamos a ver. Si todo sale bien seguire con otros grupos de usuarios / paises xD Saludos Equipo. Alejandro J. Alvarez S. Linux Registered User #483871 http://scialvarez.blogspot.com http://www.proyectociencia.org +58-261-7141182 _________________________________________________________________ Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy! http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friends.aspx&mkt=en-us ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From muammar en proyectociencia.org Mon Jun 15 16:50:46 2009 From: muammar en proyectociencia.org (Muammar El Khatib) Date: Mon, 15 Jun 2009 10:20:46 -0430 Subject: [GUPy] Algunos cambios :) In-Reply-To: References: Message-ID: On Mon, 15 Jun 2009 01:12:32 -0400, alejandro alvarez wrote: > Saludos, > > Reporto algunos cambios: > > - El Wiki del proyecto se ha orientado a ser un repositorio de > códigos (un Wiki-Codes), así que podremos publicar nuestros > códigos fuente ahí. > Me parece muy buena idea. Lo importante sería que cada persona que haga su página con código se suscriba a esta para entonces velar porque nadie modifique de forma mal intencionada lo que ahí se publica. > Yo he colocado uno (muy básico) solo para explicar un posi- > ble formato de publicación. > > http://www.proyectociencia.org/Wiki/index.php/Python:_Operaciones_entre_dos_n%C3%BAmeros_reales > Me gustó mucho. Se ve muy organizado de esa manera y se cubren los tópicos expresados en nuestro Contrato Social. > ver también: > > http://proyectociencia.org/Wiki/index.php/Formato_de_Publicaci%C3%B3n > Yo iré ayudando en mejorar algunas cosas. > http://www.proyectociencia.org/Wiki/index.php/P%C3%A1gina_Principal > > son libres de editar cualquier cosa, pues la verdad no revise > mucho, pues me sentia un poco mal. > Espero que mejores pronto. > - Se creo una página (dentro del Proyecto GUPy) explicando > como unirse y/o colaborar al grupo. > > hacia falta, pues notamos que algunas personas se registraban > en la página (tal vez buscando la manera de colaborar). Hemos > explicado bien :S como hacerlo. > > ver: http://proyectociencia.org/gupy/?q=node/5 > Bastante informativa. Hacía falta de verdad. Cuando puedas envíame un correo privado con los datos de edición, porque no los recuerdo. > De nuevo, total libertad de edición de los contenidos. > > - Organice el moodle: > > Sincronice el moodle con lo que hemos discutido en las sesiones > de chat. Explique en el foro que los horarios dependen de la dis- > ponibilidad de los cursistas, y los invite (nuevamente) a inscribir- > se en la lista de correo. > Gracias por todo el trabajo :) > - Por ultimo: > > Estoy tratando de hacer algo de diplomacia con: > > PyAr (Grupo de usuarios de Python en Argentina) > PyUg (lo mismo pero en uruguay) > > y un grupo de Perú ... vamos a ver. Si todo sale bien seguire con > otros grupos de usuarios / paises xD > ¡Te deseo suerte! cualquier cosa nos informas :) > > Saludos Equipo. Saludos, -- Muammar El Khatib. Linux user: 403107. GPG Key = 127029F1 http://proyectociencia.org From alejandroalvs en hotmail.com Tue Jun 16 05:28:13 2009 From: alejandroalvs en hotmail.com (alejandro alvarez) Date: Mon, 15 Jun 2009 23:28:13 -0400 Subject: [GUPy] =?iso-8859-1?q?=5BArticulo=5D_Toolkits_gr=E1ficos_para_Pyt?= =?iso-8859-1?q?hon?= Message-ID: Toolkits gráficos para Python Existen distintas librerías con las que desarrollar aplicaciones con interfaces gráficas de usuario (GUI) en Python. Cada toolkit tiene ventajas y desventajas, la mayoría son multiplataforma (lo cual es un punto notable a favor). Desde mi experiencia (poca, y posiblemente equivocada) voy a intentar describir alguno de ellos: Tkinter Se puede decir que es el estándar en Python. Se distribuye junto con el propio intérprete de Python, es multiplataforma y está muy bien documentado. Un excelente lugar donde conocer Tkinter es este o bien dentro de la propia web de Python, aquí. En mi opinión su mayor ventaja es que se distribuye junto con el intérprete. Es muy sencillo de aprender, si ya sabes Python, escribir en Tkinter una aplicación con una mínima funcionalidad no te llevará más de un par de horas (eso es lo que me llevó a mí programar esto sin saber nada de Tkinter y soy bastante torpe). Pegas: Hay pocos widgets (cierto, están todos los habituales pero se echa en falta alguno más). Un ejemplo, un clásico ListBox con scroll no existe. Hay que crear el ListBox y el ScrollBar por separado. Es cierto que esta operación son tres líneas: self.barrascroll_lista = Scrollbar(self.panel) self.lista = Listbox (self.panel, yscrollcommand =self.barrascroll_lista.set, selectmode=SINGLE) self.barrascroll_lista.config (command=self.lista.yview) pero se agradecerían widgets de más alto nivel. Otro problema que le veo (ésta es una opinión personal) es que en Linux, las aplicaciones se ven "feas". Los widgets son bastante poco atractivos (los de OpenMotif creo que utliza...). En windows esto no sucede ya que usa los widgets nativos (MFC se llaman ¿no?) Tix Tix significa Tk Interface eXtension. Así podemos decir que Tix es una extensión de Tkinter. También se distribuye con la distribución estándar de Python. Sin embargo en la versión de Python 2.2 (no sé si la 2.1 también estará afectada) de Windows "se olvidaron" de incluirlo. Esto significa que si tu script utliza Tix y quieres ejecutarlo en windows tendrás que bajarlo e instalarlo. No he probado a fondo Tix, pero parece que añade unas cuantas funcionalidades a Tkinter. Si quieres saber más de Tix visita su web. Aquí tienes sus widgets. Si usas Tkinter y/o Tix puedes utilizar Spectix, una aplicación para crear interfaces de forma gráficamente. Personalmente, no me gustó demasiado (aunque hay gente que le saca partido). Pmw Pmw es otro intento de construir widgets de alto nivel utilizando Tkinter. La documentación tiene buena pinta y he oido hablar bastante bien de él (en la lista de Python). Puedes encontrar Pmw aquí. PyGTK Empezamos ya con cosas mayores. PyGTK permite utilizar las librerías gtk en tus scripts. La documentación parece buena (digo parece, porque uno sólo aprecia la bondad o maldad de una documentación cuado tiene que usarla, y yo nunca he usado PyGTK), con un FAQ que parece tratar todos los temas importantes. Su página principal puedes encontrarla aquí. No hay que olvidar además, que podrás utlizar Glade. La única pega que le veo es el tema de la portabilidad. En la documentación de PyGTK, se trata el tema de cómo portar una aplicacion con PyGTK a Win32, pero a mí no me ha quedado nada claro, y distribuir una aplicación para usuarios de Windows que requiera una instalación un poco "trabajosa" (algo más que un doble click) está abocado al fracaso (esto también es una opinión personal). PyQT Todo lo dicho en el caso anterior es reproducible en este, sólo que la portabilidad se complica ahora aún más por el tema de las licencias. Puedes conocer PyQT aquí. Y sí también se puede utilizar Qt Designer. wxPython Esto me lo he dejado para el final. wxPython , que no es más que la adaptación de wxWindows a Python. En mi opinión, y si damos importancia a la portabilidad, wxPython es la solución óptima. Si escribimos una aplicación ya la ejecutamos en Linux, utilizará gtk para mostrar las ventanas, y en windows utilizará las ventanas nativas de windows. La documentación no es todo lo buena que debiera, aunque con un poco de buena voluntad se sale adelante. Por ejemplo, leyendo el wxPyWiki podemos hacernos una idea del funcionamiento de wxPython, pero se queda corto en muchos aspectos. En estos casos no queda más remedio que leer la documentación de wxWindows (para C++). Lo dicho, con buena voluntad se sale adelante. Sin embargo existe una aplicación de prueba fantástica que se puede descargar aquí. Se trata de una aplicación que muestra todos los widgets en acción junto con el código para lograr esos efectos. De verdad, ayuda mucho. Existe un proyecto de desarrollo de un RAD para Python utilizando wxPython. Su nombre es Boa y puedes probarlo aquí. Nunca lo he usado, pero parece que promete. Quizá cuando sea estable (aún es alpha) contribuya a la popularidad de Python. No me resisto de comentar otra aplicación. wxDesigner. Ni es libre, ni es gratuita pero ayuda bastante si trabajas con wxWindows y Python (o C++ o Perl). Puedes descargarte una versión de evaluación que no permite guardar documentos (o así era cuando lo bajé yo). Esta aplicación me pareció especialmente útil e interesante. Bueno, me he olvidado deliberadamente de PythonCard por el desconocimiento que tengo de este proyecto. Si no me equivoco es un intento de simplificar el funcionamiento de wxPython con clases de más alto novel. Conclusión personal: En mi opinión, para programar aplicaciones multiplataforma Tkinter o wxPython. A estos dos entornos se les dedica un apartado en Python Programming on Win32. Aquí tienes el de Tkinter y el de wxPython Si vas a realizar una aplicación para un sistema específico, Linux por ejemplo, podrías considerar PyQT o PyGTK. Sin embargo, son entornos muy grandes y la curva de aprendizaje, aunque menos pronunciada que en otros lenguajes, puede ser dura. Yo aprendería wxPython que sirve para casi todo (aunque no he encontrado nada para justificar el casi). Un saludo Sobre el autor T. Javier Robles Prado http://users.servicios.retecal.es/tjavier Email-me Alejandro J. Alvarez S. Linux Registered User #483871 http://scialvarez.blogspot.com http://www.proyectociencia.org +58-261-7141182 _________________________________________________________________ Connect to the next generation of MSN Messenger  http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From alejandroalvs en hotmail.com Tue Jun 16 05:29:30 2009 From: alejandroalvs en hotmail.com (alejandro alvarez) Date: Mon, 15 Jun 2009 23:29:30 -0400 Subject: [GUPy] =?iso-8859-1?q?=5BArt=EDculo=5D_Interfaces_gr=E1ficas_de_u?= =?iso-8859-1?q?suario_en_Python?= Message-ID: Interfaces gráficas de usuario en Python Fecha Tuesday, 25 November a las 09:14:36 Tema Programación En esta entrada veremos algunos de los toolkits para creación de interfaces gráficas de usuario (GUIs) con Python más populares: TkInter, wxPython, PyGTK y PyQt. TkInter http://tkinter.unpythonic.net/wiki/ TkInter (de TK Interface) es un módulo que nos permite construir interfaces gráficas de usuario multiplataforma en Python utilizando el conocido toolkit Tk. Python incluye este módulo por defecto, lo que hace que sea un tookit muy popular. TkInter, además, es robusto, maduro y muy sencillo de aprender y de utilizar, contando con una amplia documentación. Por otro lado hasta la versión 8.5 Tk era famoso por lo poco atractivo de sus widgets (cosa que se podía solucionar hasta cierto punto gracias a Tile). No es hasta esta versión que contamos con cosas tan básicas como textos con antialiasing en X11 o widgets como Treeview. En esta versión también se incluye Tile por defecto, por lo que contamos con un mejor aspecto general para todas las plataformas. Sin embargo Python no se distribuye con Tk 8.5 hasta la versión 2.6, por lo que, para versiones de Python anteriores, es necesario recompilar TkInter para Tk 8.5 por nuestra cuenta, o bien usar Tile si no necesitamos ninguna de las nuevas características. Es más, para poder usar la mayor parte de las nuevas características de Tk 8.5 es necesario instalar una librería que actúe como wrapper de Ttk (el nombre con el que han dado en llamar al conjunto de los nuevos widgets y temas de Tk), como puede ser pyttk. TkInter se distribuye bajo la PSFL (Python Software Foundation License) una licencia compatible con la GPL creada para la distribución de software relacionado con el proyecto Python. La PSFL carece de la naturaleza viral de la GPL, por lo que permite crear trabajos derivados sin que estos se conviertan necesariamente en software libre. Por último, veamos una pequeña aplicación de ejemplo escrita con TkInter, sin uso de eventos y con solo unos pocos widgets, que nos servirá para comparar el aspecto de los distintos toolkits. from Tkinter import * root = Tk() frame = Frame(root) frame.pack() label = Label(frame, text="Hola mundo") c1 = Checkbutton(frame, text="Uno") c2 = Checkbutton(frame, text="Dos") entry = Entry(frame) button = Button(frame, text="Aceptar") label.pack() c1.pack() c2.pack() entry.pack() button.pack() root.mainloop() Pros: Popularidad, sencillez, documentación. Contras: Herramientas, integración con el sistema operativo, lentitud. Recomendado para: ¿Prototipos rápidos? wxPython http://wxpython.org/ wxPython es un wrapper open source para el toolkit anteriormente conocido como wxWindows: wxWidgets. wxPython es posiblemente el toolkit para desarrollo de interfaces gráficas en Python más popular, superando incluso a TKinter, que, como comentamos, se incluye por defecto con el intérprete de Python. wxPython cuenta con más y mejores widgets que TKinter, y ofrece un muy buen aspecto en todas las plataformas, utilizando MFC en Windows y GTK en Linux. wxPython cuenta además con herramientas muy interesantes como wxGlade, una aplicación RAD para diseñar las interfaces gráficas de forma visual. Sin embargo, la API adolece de una cierta falta de consistencia y un estilo muy alejado de Python y más cercano a C++, ya que, de hecho, uno de sus objetivos es no distanciarse demasiado del estilo de wxWidgets. Esto ha provocado que hayan aparecido distintos proyectos para abstraer al programador de los entresijos del toolkit, como Dabo o Wax, aunque estos han tenido un éxito muy comedido. Tanto wxPython como wxWidgets se distribuyen bajo una licencia "wxWindows Licence", que consiste esencialmente en una LGPL con la excepción de que las obras derivadas en formato binario se pueden distribuir como el usuario crea conveniente. Algunos ejemplos de aplicaciones conocidas creadas con wxPython son DrPython, wxGlade, Boa Constructor, Stani's Python Editor y ABC. Finalmente, a continuación podéis consultar el código de la aplicación de ejemplo: import wx class Frame(wx.Frame): def __init__(self): wx.Frame.__init__(self, parent=None) panel = wx.Panel(self) text = wx.StaticText(panel, -1, "Hola mundo") c1 = wx.CheckBox(panel, -1, label="Uno") c2 = wx.CheckBox(panel, -1, label="Dos") t = wx.TextCtrl(panel) b1 = wx.Button(panel, -1, label="Aceptar") sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(text, 0, wx.ALL, 0) sizer.Add(c1, 0, wx.ALL, 0) sizer.Add(c2, 0, wx.ALL, 0) sizer.Add(t, 0, wx.ALL, 0) sizer.Add(b1, 0, wx.ALL, 0) panel.SetSizer(sizer) panel.Layout() app = wx.App(redirect=True) Frame().Show() app.MainLoop() Pros: Popularidad, herramientas, multiplataforma. Contras: API muy poco pythonica. Recomendado para: Desarrollo multiplataforma. PyGTK http://www.pygtk.org/ Posiblemente PyGTK sea la segunda opción más utilizada para la creación de interfaces gráficas con Python, solo por detrás de wxPython, con la que compite de tú a tú. PyGTK, como podemos suponer por su nombre, es un binding de GTK, la biblioteca utilizada para desarrollar GNOME. PyGTK cuenta con una API muy clara, limpia y elegante y es, además, muy sencillo de aprender, solo superado en ese aspecto por Tkinter. PyGTK también cuenta con grandes herramientas para construir la interfaz de forma gráfica, como Glade o Gazpacho. Un punto negativo es que, hasta hace poco, era necesario instalar X11 para poder usar PyGTK en Mac OS, dado que GTK no había sido portado. Actualmente se puede utilizar el GTK+ OS X Framework que se encuentra todavía en versión beta. PyGTK se distribuye bajo licencia LGPL. Algunas aplicaciones escritas con PyGTK son Deluge, Exaile, Listen, Envy, WingIDE, DeVeDe o emesene. Veamos el código de la aplicación de ejemplo en PyGTK: import pygtk import gtk window = gtk.Window(gtk.WINDOW_TOPLEVEL) window.connect("destroy", gtk.main_quit) box = gtk.VBox(False, 0) window.add(box) label = gtk.Label("Hola Mundo") c1 = gtk.CheckButton(label="Uno") c2 = gtk.CheckButton(label="Dos") entry = gtk.Entry() button = gtk.Button("Aceptar") box.add(label) box.add(c1) box.add(c2) box.add(entry) box.add(button) window.show_all() gtk.main() Pros: Popularidad, sencillez, herramientas. Contras: Ligeramente más complicado de instalar y distribuir en Mac OS. Recomendado para: Cualquier tipo de aplicación. Especialmente interesante para Gnome. PyQt http://www.riverbankcomputing.co.uk/software/pyqt/intro Es posible que PyQt, el binding de Qt para Python, sea la menos popular de las cuatro opciones, aunque es un toolkit sencillo de utilizar y con muchas posibilidades. Es especialmente interesante para el desarrollo en KDE, dado que Qt es la librería utilizada para crear este entorno. No obstante el interés en Qt no se limita a KDE, sino que es una biblioteca multiplataforma que, además, desde la versión 4, utiliza widgets nativos para las distintas plataformas (anteriormente Qt emulaba el aspecto de la plataforma en la que corría). Como aplicación de RAD se puede utilizar Qt Designer. PyQt utiliza un modelo de licencias similar al de Qt, con una licencia dual GPL/PyQt Commercial. Si nuestro programa es compatible con la licencia GPL, es decir, si vamos a publicar el código fuente y permitir a los usuarios modificar nuestra aplicación, podremos usar PyQt sin más preocupaciones. En caso contrario tendremos que pagar para obtener una licencia comercial. Un par de ejemplos de aplicaciones que usan PyQt son Eric y QTorrent. El código de la aplicación de ejemplo en PyQt tendría el siguiente aspecto: import sys from PyQt4.QtCore import * from PyQt4.QtGui import * class Form(QWidget): def __init__(self): QWidget.__init__(self) layout = QVBoxLayout() layout.addWidget(QLabel("Hola mundo")) layout.addWidget(QCheckBox("Uno")) layout.addWidget(QCheckBox("Dos")) layout.addWidget(QLineEdit()) layout.addWidget(QPushButton("Aceptar")) self.setLayout(layout) app = QApplication(sys.argv) form = Form() form.show() app.exec_() Pros: Sencillez, herramientas, multiplataforma. Contras: Ligeramente más complicado de instalar y distribuir en Mac OS. Licencia. Recomendado para: Cualquier tipo de aplicación. Especialmente interesante para KDE. Fuente: Via http://mundogeek.net Alejandro J. Alvarez S. Linux Registered User #483871 http://scialvarez.blogspot.com http://www.proyectociencia.org +58-261-7141182 _________________________________________________________________ Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy! http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friends.aspx&mkt=en-us ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From alejandroalvs en hotmail.com Tue Jun 16 05:39:05 2009 From: alejandroalvs en hotmail.com (alejandro alvarez) Date: Mon, 15 Jun 2009 23:39:05 -0400 Subject: [GUPy] Graficando un campo vectorial :) Message-ID: Espero que disfruten de este código tanto como yo :) # Importamos el Gnuplot import Gnuplot gp = Gnuplot.Gnuplot(persist = 1) # Generamos la data del campo vectorial data = [] for i in range(-10, 11): for j in range(-10, 11): data.append([i/10., j/10., -i/100., -j/100.]) # Each data entry has the form [x, y, u, v] # Ploteamos (Graficamos) todo: Notemos que lo hacemos con el argumento 'vectors' plot = Gnuplot.PlotItems.Data(data, with_ = 'vectors') gp.plot(plot) Usar Gnuplot en python es bastante fácil, útil y obligatorio para nosotros que pretendemos desarrollar aplicaciones de caracter científico. Pues bien, ya tenemos un potente motor para el ploteo de curvas ... el proximo nivel son las superficies ... Saludos Pythonicos ! Alejandro J. Alvarez S. Linux Registered User #483871 http://scialvarez.blogspot.com http://www.proyectociencia.org +58-261-7141182 _________________________________________________________________ Connect to the next generation of MSN Messenger  http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From alejandroalvs en hotmail.com Tue Jun 16 05:55:17 2009 From: alejandroalvs en hotmail.com (alejandro alvarez) Date: Mon, 15 Jun 2009 23:55:17 -0400 Subject: [GUPy] Ver Blog Message-ID: Saludos, Coloque un ejemplo básico en el blog ... seguro llamará la atención por lo básico xD Tenemos que buscar un plug-in para códigos indentados para el wordpress ... en el blogger me pasa lo mismo :( Alejandro J. Alvarez S. Linux Registered User #483871 http://scialvarez.blogspot.com http://www.proyectociencia.org +58-261-7141182 _________________________________________________________________ Discover the new Windows Vista http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From alejandroalvs en hotmail.com Tue Jun 16 08:33:37 2009 From: alejandroalvs en hotmail.com (alejandro alvarez) Date: Tue, 16 Jun 2009 02:33:37 -0400 Subject: [GUPy] Jugando con GnuPlot en Python 2 :) Message-ID: Saludos, Estuve jugando con python un rato ... corran el siguiente programa: http://proyectociencia.pastebin.com/m67124540 les dejo la direccion del codigo en pastebin, y lo envio directamenta tambien: ------ # -*- coding: utf-8 -*- import Gnuplot import math gp = Gnuplot.Gnuplot(persist = 1) print """ Este programa es un intento por demostrar que las cosas que lei estan bien aprendidas ... además me sentia un poco mal y como de costumbre me puse a jugar con el python :) Posibles Aplicaciones: Es bien sabido que los estudiantes de 4to y 5to año de bachillerato y primer semestre de la universidad no manejan, por alguna razón, la forma (geometría) de las funciones elementales, por lo que He diseñado esta pequeña aplicación para enseñar estos puntos. Version 0.0.0.0.0.0.0.0.0. ... .1 xD disculpen, despues me encargo de mejorarlo, solo queria mostrarlo :) """ def cua(x): return x*x def cub(x): return x*x*x def sen(x): return math.sin(x) def cos(x): return math.cos(x) print """Cual de las siguientes funciones deseas estudiar 1) f(x)=x^2 cuadrática (algebráica) 2) f(x)=x^3 cúbica (algebráica) 3) f(x)=sen(x) seno (trigonométrica) 4) f(x)=cos(x) coseno (trigonométrica) Introduzca la opción de su preferencia 1,2,3,4 """ des=input() if des == 1: def fun(x): return cua(x) if des == 2: def fun(x): return cub(x) if des == 3: def fun(x): return sen(x) if des == 4: def fun(x): return cos(x) # falta colocar mensaje de error al equivocarse :S data=[] step=input('introduzca el tamaño de paso = presición (entre mas pequeño, mas preciso) >> ') a=input('introduzca el punto inicial del dominio >> ') b=input('introduzca el punto final del dominio >> ') y=a while y From alejandroalvs en hotmail.com Tue Jun 16 09:32:39 2009 From: alejandroalvs en hotmail.com (alejandro alvarez) Date: Tue, 16 Jun 2009 03:32:39 -0400 Subject: [GUPy] Miren esta maravilla Message-ID: Saludos, Un motivo mas para glorificar a nuestro poderoso python. Observen este pequeño (resalto de nuevo pequeño) programa ... corranlo ... fijense que esta muy bien documentado. ¿Miren lo que se logra con un par de lineas y el módulo python-visual ... espero que pronto estudiemos estas cosas, aunque ya yo empece a jugar un poco con ellas :) ----- aca se los dejo ------ from visual import * #import the visual library #First, let's create a red ball ball=sphere(color=color.red,radius=1,pos=(10,0,0)) #Now, we want to create a wall that extends for the whole display window. By default, #Vpython adjusts the screen to accomodate new objects. #Let's tell it no thanks. scene.autoscale=False #Create the wall. Note that scene.range is a vector giving the maximum values of the #screen in the x,y, and z directions. wall=box(pos=(-10,0,0),height=scene.range.z*2,width=scene.range.y*2,color=color.green) #Initially, the ball hasn't hit the wall hitwall=False #It's also not out of the frame. outofframe=False #We choose a timestep for the animation dt=.01 #We want to see the action as long as the ball isn't out of frame. while not outofframe: #The ball should move in the negative x direction until it hits the wall. while not hitwall: #Tell the screen to update once every (dt) seconds. rate(1/dt) #We give the ball a velocity: ball.velocity=vector(-5,0,0) #And update the position ball.pos+=ball.velocity*dt #Use this position to determine if the ball has hit the wall: if ball.pos.x < wall.pos.x+ball.radius/2.0+wall.length/2.0: hitwall=True #Once the ball has hit the wall, we want to animate motion with a velocity in the positive x-direction rate(1/dt) ball.velocity=vector(5,0,0) ball.pos+=ball.velocity*dt #Stop the animation when the ball reaches the edge of the frame. if ball.pos.x >= scene.range.x-ball.radius: outofframe=True ------------------- Alejandro J. Alvarez S. Linux Registered User #483871 http://scialvarez.blogspot.com http://www.proyectociencia.org +58-261-7141182 _________________________________________________________________ Explore the seven wonders of the world http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From muammar en proyectociencia.org Tue Jun 16 17:18:52 2009 From: muammar en proyectociencia.org (Muammar El Khatib) Date: Tue, 16 Jun 2009 10:48:52 -0430 Subject: [GUPy] Graficando un campo vectorial :) In-Reply-To: References: Message-ID: On Mon, 15 Jun 2009 23:39:05 -0400, alejandro alvarez wrote: > Espero que disfruten de este código tanto como yo :) > :D > > # Importamos el Gnuplot > import Gnuplot > gp = Gnuplot.Gnuplot(persist = 1) > > # Generamos la data del campo vectorial > data = [] > for i in range(-10, 11): > for j in range(-10, 11): > data.append([i/10., j/10., -i/100., -j/100.]) # Each data entry has > the form [x, y, u, v] > > # Ploteamos (Graficamos) todo: Notemos que lo hacemos con el argumento > 'vectors' > plot = Gnuplot.PlotItems.Data(data, with_ = 'vectors') > gp.plot(plot) > > > > Usar Gnuplot en python es bastante fácil, útil y obligatorio para > nosotros que pretendemos desarrollar aplicaciones de caracter científico. > Pues bien, ya tenemos un potente motor para el ploteo de curvas ... el > proximo nivel son las superficies ... Demasiado bien! -- Muammar El Khatib. Linux user: 403107. GPG Key = 127029F1 http://proyectociencia.org ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: gnuplotyay.png Type: image/png Size: 216696 bytes Desc: no disponible URL: From muammar en proyectociencia.org Tue Jun 16 17:24:51 2009 From: muammar en proyectociencia.org (Muammar El Khatib) Date: Tue, 16 Jun 2009 10:54:51 -0430 Subject: [GUPy] Jugando con GnuPlot en Python 2 :) In-Reply-To: References: Message-ID: <367518b44ddc20b8f142e8ffce348b9a@proyectociencia.org> On Tue, 16 Jun 2009 02:33:37 -0400, alejandro alvarez wrote: > Saludos, > > Estuve jugando con python un rato ... corran el siguiente programa: > > http://proyectociencia.pastebin.com/m67124540 > > les dejo la direccion del codigo en pastebin, y lo envio directamenta > tambien: > > ------ > > # -*- coding: utf-8 -*- > import Gnuplot > import math > gp = Gnuplot.Gnuplot(persist = 1) > print """ > Este programa es un intento por demostrar que las cosas que lei > estan bien aprendidas ... además me sentia un poco mal y como de > costumbre me puse a jugar con el python :) > > Posibles Aplicaciones: > Es bien sabido que los estudiantes de 4to y 5to año de bachillerato > y primer semestre de la universidad no manejan, por alguna razón, > la forma (geometría) de las funciones elementales, por lo que > He diseñado esta pequeña aplicación para enseñar estos puntos. > > Version 0.0.0.0.0.0.0.0.0. ... .1 xD > > disculpen, despues me encargo de mejorarlo, solo queria mostrarlo :) > """ > def cua(x): return x*x > def cub(x): return x*x*x > def sen(x): return math.sin(x) > def cos(x): return math.cos(x) > > print """Cual de las siguientes funciones deseas estudiar > > 1) f(x)=x^2 cuadrática (algebráica) > 2) f(x)=x^3 cúbica (algebráica) > 3) f(x)=sen(x) seno (trigonométrica) > 4) f(x)=cos(x) coseno (trigonométrica) > > Introduzca la opción de su preferencia 1,2,3,4 > """ > des=input() > if des == 1: > def fun(x): return cua(x) > if des == 2: > def fun(x): return cub(x) > if des == 3: > def fun(x): return sen(x) > if des == 4: > def fun(x): return cos(x) > > # falta colocar mensaje de error al equivocarse :S > > data=[] > step=input('introduzca el tamaño de paso = presición (entre mas pequeño, > mas preciso) >> ') > a=input('introduzca el punto inicial del dominio >> ') > b=input('introduzca el punto final del dominio >> ') > y=a > while y data.append([y,fun(y)]) > y=y+step > gp('set data style lines') > gp.plot(data) Jaja! demasiado útil. Deberías pegarlo en el repositorio de códigos :D -- Muammar El Khatib. Linux user: 403107. GPG Key = 127029F1 http://proyectociencia.org From muammar en proyectociencia.org Tue Jun 16 17:30:45 2009 From: muammar en proyectociencia.org (Muammar El Khatib) Date: Tue, 16 Jun 2009 11:00:45 -0430 Subject: [GUPy] Miren esta maravilla In-Reply-To: References: Message-ID: On Tue, 16 Jun 2009 03:32:39 -0400, alejandro alvarez wrote: > Saludos, > > > Un motivo mas para glorificar a nuestro poderoso python. > > Observen este pequeño (resalto de nuevo pequeño) programa ... corranlo > ... fijense que esta muy bien documentado. ¿Miren lo que se logra con un > par de lineas y el módulo python-visual ... espero que pronto estudiemos > estas cosas, aunque ya yo empece a jugar un poco con ellas :) > Tal vez para aquellos que estudien computación esto sea algo trivial, pero a mi me emocionó xD se puede hacer demasiado... -- Muammar El Khatib. Linux user: 403107. GPG Key = 127029F1 http://proyectociencia.org From alejandroalvs en hotmail.com Tue Jun 16 15:45:35 2009 From: alejandroalvs en hotmail.com (alejandro alvarez) Date: Tue, 16 Jun 2009 09:45:35 -0400 Subject: [GUPy] Jugando con GnuPlot en Python 2 :) In-Reply-To: <367518b44ddc20b8f142e8ffce348b9a@proyectociencia.org> References: <367518b44ddc20b8f142e8ffce348b9a@proyectociencia.org> Message-ID: ---------------------------------------- > Date: Tue, 16 Jun 2009 10:54:51 -0430 > From: muammar en proyectociencia.org > To: gupy en proyectociencia.org > Subject: Re: [GUPy] Jugando con GnuPlot en Python 2 :) > > On Tue, 16 Jun 2009 02:33:37 -0400, alejandro alvarez > wrote: >> Saludos, >> >> Estuve jugando con python un rato ... corran el siguiente programa: >> >> http://proyectociencia.pastebin.com/m67124540 >> > > Jaja! demasiado útil. Deberías pegarlo en el repositorio de códigos :D > -- Aun no ... le falta mucho por detallar ... no estan todas las funciones elementales y tengo que documentarlo pues, si el usuario coloca un tamaño de paso muy pequeño, p.e., 0.0000000000000000000000001 y un dominio muy grande, p.e. -100 hasta 100, el programa literalmente se hecha 3 ^^' además, quería poner un par de menús y meter un poco de teoría. a ver si de verdad puedo hacer útil a ese programa, como una especie de tutorial de funciones elementales, y lo compilo en un binario :) Ya empezamos a hacer cosas :) Alejandro J. Alvarez S. Linux Registered User #483871 http://scialvarez.blogspot.com http://www.proyectociencia.org +58-261-7141182 _________________________________________________________________ Explore the seven wonders of the world http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE From alejandroalvs en hotmail.com Tue Jun 16 15:49:31 2009 From: alejandroalvs en hotmail.com (alejandro alvarez) Date: Tue, 16 Jun 2009 09:49:31 -0400 Subject: [GUPy] Miren esta maravilla In-Reply-To: References: Message-ID: > > On Tue, 16 Jun 2009 03:32:39 -0400, alejandro alvarez > wrote: >> Saludos, >> >> >> Un motivo mas para glorificar a nuestro poderoso python. >> >> Observen este pequeño (resalto de nuevo pequeño) programa ... corranlo >> ... fijense que esta muy bien documentado. ¿Miren lo que se logra con un >> par de lineas y el módulo python-visual ... espero que pronto estudiemos >> estas cosas, aunque ya yo empece a jugar un poco con ellas :) >> > > Tal vez para aquellos que estudien computación esto sea algo trivial, pero > a mi me emocionó xD se puede hacer demasiado... Es probable ... solo de pensar lo que podemos hacer con esto ... me emociono mas :) modelos de choques, billares matemáticos, modelos de flujos (fluidos compresibles o no) etc, etc, etc ... empiezan a aparecer las herramientas para el análisis de fenómenos físicos ... -- Alejandro J. Alvarez S. Linux Registered User #483871 http://scialvarez.blogspot.com http://www.proyectociencia.org +58-261-7141182 _________________________________________________________________ News, entertainment and everything you care about at Live.com. Get it now! http://www.live.com/getstarted.aspx From muammar en proyectociencia.org Wed Jun 17 21:01:51 2009 From: muammar en proyectociencia.org (Muammar El Khatib) Date: Wed, 17 Jun 2009 14:31:51 -0430 Subject: [GUPy] Links para compartir Message-ID: <3520be2c0cf237d73ce8752eadeb4e95@proyectociencia.org> Hola, Aquí envío una serie de links referidos al ploteo con Python 1) http://ernesto-ecrespo.blogspot.com/2009/06/tutoriales-de-matplotlib-con-python.html 2) http://ernesto-ecrespo.blogspot.com/2009/06/tutoriales-de-matplotlib-con-python_16.html 3) http://ernesto-ecrespo.blogspot.com/2009/06/tutoriales-de-matplotlib-con-python_3534.html 4) http://ernesto-ecrespo.blogspot.com/2009/06/tutoriales-de-matplotlib-con-python_6276.html 5) http://ernesto-ecrespo.blogspot.com/2009/06/tutoriales-de-matplotlib-con-python_5249.html 6) http://ernesto-ecrespo.blogspot.com/2009/06/tutoriales-de-matplotlib-con-python_17.html 7) http://ernesto-ecrespo.blogspot.com/2009/06/desarrollo-de-aplicaciones-graficas-con.html (Desarrollo de aplicaciones gráficas) 8) http://ernesto-ecrespo.blogspot.com/2009/06/desarrollo-de-aplicaciones-graficas-con_17.html Me disculpo de antemano si algún link está duplicado. Saludos, -- Muammar El Khatib. Linux user: 403107. GPG Key = 127029F1 http://proyectociencia.org From muammar en proyectociencia.org Wed Jun 17 21:19:36 2009 From: muammar en proyectociencia.org (Muammar El Khatib) Date: Wed, 17 Jun 2009 14:49:36 -0430 Subject: [GUPy] =?utf-8?q?D=C3=ADa_para_discutir_cap=C3=ADtulo_5_de_la_gu?= =?utf-8?b?w61hLCB5IHNvbmRlby4uLg==?= Message-ID: <097b77a78ea5d737cf9b13654e4856fd@proyectociencia.org> #!/usr/bin/env python # -*- coding: utf-8 -*- suscriptores = ['inscritos'] for i in suscriptores: print 'hola' En vista de que he recibido un par de correos preguntando cuándo se inicia de nuevo el curso de Python que estamos organizando, pues he creído oportuno hacer un pequeño sondeo para de esta manera todos aquellos que estén comenzando a aprender python nos reunamos y aquellos que tengan cierto nivel nos ayuden :) Las preguntas que considero pertinentes serían: 1) ¿Qué grado de conocimiento de Python tienes? (si les es posible a todos los suscritos responder esta pregunta, sería excelente) 2) ¿Qué días te podrías reunir para discutir y estudiar los capítulos? 3) De acuerdo con la respuesta en la pregunta 1, ¿podrías ser facilitador o mentor de los primeros capítulos? En base a las respuestas a las preguntas planteadas, podemos hacer unas reuniones para que todos nos nivelemos hasta el capítulo 4, porque los que ya hemos comenzado nos toca discutir el capítulo 5. Yo creo que no habría ningún problema en dar una semana para discutir los 4 capítulos anteriores y luego todos reunirnos para discutir el capítulo 5. Hay 18 personas suscritas a esta lista, y supongo que 18 personas pensaríamos y estudiaríamos mejor que 3 o 4. Habrían más ideas en el entorno. La guía que estamos leyendo es http://pyspanishdoc.sourceforge.net/tut/tut.html, aunque este material ha sido recopilado dentro del moodle para mayor facilidad. Saludos, PD. Espero sus comentarios. -- Muammar El Khatib. Linux user: 403107. GPG Key = 127029F1 http://proyectociencia.org From alejandroalvs en hotmail.com Wed Jun 17 23:47:25 2009 From: alejandroalvs en hotmail.com (alejandro alvarez) Date: Wed, 17 Jun 2009 17:47:25 -0400 Subject: [GUPy] Links para compartir In-Reply-To: <3520be2c0cf237d73ce8752eadeb4e95@proyectociencia.org> References: <3520be2c0cf237d73ce8752eadeb4e95@proyectociencia.org> Message-ID: > > Hola, > > Aquí envío una serie de links referidos al ploteo con Python Gracias ... me habían recomendado que usara matplotlib para graficar ... Gnuplot es (por lo general) la segunda mejor opción ... lo único que me gusta de Gnuplot es que es fácil de plotear desde python. > > 1) > http://ernesto-ecrespo.blogspot.com/2009/06/tutoriales-de-matplotlib-con-python.html > 2) > http://ernesto-ecrespo.blogspot.com/2009/06/tutoriales-de-matplotlib-con-python_16.html > 3) > http://ernesto-ecrespo.blogspot.com/2009/06/tutoriales-de-matplotlib-con-python_3534.html > 4) > http://ernesto-ecrespo.blogspot.com/2009/06/tutoriales-de-matplotlib-con-python_6276.html > 5) > http://ernesto-ecrespo.blogspot.com/2009/06/tutoriales-de-matplotlib-con-python_5249.html > 6) > http://ernesto-ecrespo.blogspot.com/2009/06/tutoriales-de-matplotlib-con-python_17.html > 7) > http://ernesto-ecrespo.blogspot.com/2009/06/desarrollo-de-aplicaciones-graficas-con.html > (Desarrollo de aplicaciones gráficas) > 8) > http://ernesto-ecrespo.blogspot.com/2009/06/desarrollo-de-aplicaciones-graficas-con_17.html > > Me disculpo de antemano si algún link está duplicado. > > Saludos, > -- Excelente información ... deberiamos recopilar este tipo de informaciones y editar una serie de articulos al respecto, o hasta una monografia (o how to) de como graficar con Python ... seria genial :) Alejandro J. Alvarez S. Linux Registered User #483871 http://scialvarez.blogspot.com http://www.proyectociencia.org +58-261-7141182 _________________________________________________________________ Discover the new Windows Vista http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From muammar en proyectociencia.org Thu Jun 18 01:33:21 2009 From: muammar en proyectociencia.org (Muammar El Khatib) Date: Wed, 17 Jun 2009 19:03:21 -0430 Subject: [GUPy] Links para compartir In-Reply-To: References: <3520be2c0cf237d73ce8752eadeb4e95@proyectociencia.org> Message-ID: <7eb4b98b30472e1d6fc50fe36e74e38a@proyectociencia.org> On Wed, 17 Jun 2009 17:47:25 -0400, alejandro alvarez wrote: >> >> Hola, >> >> Aquí envío una serie de links referidos al ploteo con Python > > Gracias ... > > me habían recomendado que usara matplotlib para graficar ... Gnuplot es > (por lo general) > la segunda mejor opción ... lo único que me gusta de Gnuplot es que es > fácil de plotear desde > python. > Bueno, lo sabremos con más certeza cuando nos pongamos como locos a probar cada uno :) >> 1) >> http://ernesto-ecrespo.blogspot.com/2009/06/tutoriales-de-matplotlib-con-python.html >> 2) >> http://ernesto-ecrespo.blogspot.com/2009/06/tutoriales-de-matplotlib-con-python_16.html >> 3) >> http://ernesto-ecrespo.blogspot.com/2009/06/tutoriales-de-matplotlib-con-python_3534.html >> 4) >> http://ernesto-ecrespo.blogspot.com/2009/06/tutoriales-de-matplotlib-con-python_6276.html >> 5) >> http://ernesto-ecrespo.blogspot.com/2009/06/tutoriales-de-matplotlib-con-python_5249.html >> 6) >> http://ernesto-ecrespo.blogspot.com/2009/06/tutoriales-de-matplotlib-con-python_17.html >> 7) >> http://ernesto-ecrespo.blogspot.com/2009/06/desarrollo-de-aplicaciones-graficas-con.html >> (Desarrollo de aplicaciones gráficas) >> 8) >> http://ernesto-ecrespo.blogspot.com/2009/06/desarrollo-de-aplicaciones-graficas-con_17.html >> >> Me disculpo de antemano si algún link está duplicado. >> >> Saludos, >> -- > > Excelente información ... deberiamos recopilar este tipo de informaciones > y editar una > serie de articulos al respecto, o hasta una monografia (o how to) de como > graficar > con Python ... seria genial :) > Apoyo la moción. Cuenta conmigo para esto. Saludos, -- Muammar El Khatib. Linux user: 403107. GPG Key = 127029F1 http://proyectociencia.org From shemmacat en gmail.com Fri Jun 19 13:06:47 2009 From: shemmacat en gmail.com (=?ISO-8859-1?B?THVpc19PbGl2ZXJhX05hdu1v?=) Date: Fri, 19 Jun 2009 06:06:47 -0500 Subject: [GUPy] =?iso-8859-1?q?D=EDa_para_discutir_cap=EDtulo_5_de_la_gu?= =?iso-8859-1?q?=EDa=2C_y_sondeo=2E=2E=2E?= Message-ID: <4c3651d60906190406i54d62f65x678ee456180c4480@mail.gmail.com> > > Día para discutir capítulo 5 de la guía, y sondeo... > En vista de que he recibido un par de correos preguntando cuándo se inicia > de nuevo el curso de Python que estamos organizando, pues he creído > oportuno hacer un pequeño sondeo para de esta manera todos aquellos que > estén comenzando a aprender python nos reunamos y aquellos que tengan > cierto nivel nos ayuden :) > > Las preguntas que considero pertinentes serían: > > 1) ¿Qué grado de conocimiento de Python tienes? (si les es posible a > todos los suscritos responder esta pregunta, sería excelente novato total > 2) ¿Qué días te podrías reunir para discutir y estudiar los capítulos? miercoles por la noche, sabado por la mañana, todo el domingo, el resto de dias a partir de las 10 pm tendriamos que ponernos de acuerdo en el horario para coordinar las diferencias horarias (yo de peru) > > 3) De acuerdo con la respuesta en la pregunta 1, ¿podrías ser facilitador > o mentor de los primeros capítulos? > > En base a las respuestas a las preguntas planteadas, podemos hacer unas > reuniones para que todos nos nivelemos hasta el capítulo 4, porque los que > ya hemos comenzado nos toca discutir el capítulo 5. Yo creo que no habría > ningún problema en dar una semana para discutir los 4 capítulos > anteriores y luego todos reunirnos para discutir el capítulo 5. Hay 18 > personas suscritas a esta lista, y supongo que 18 personas pensaríamos y > estudiaríamos mejor que 3 o 4. Habrían más ideas en el entorno. > de acuerdo > > La guía que estamos leyendo es > http://pyspanishdoc.sourceforge.net/tut/tut.html, aunque este material ha > sido recopilado dentro del moodle para mayor facilidad. > la estoy revisando, gracias > > Saludos, saludos -- My Dark Side...RedEye ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From muammar en proyectociencia.org Fri Jun 19 14:58:08 2009 From: muammar en proyectociencia.org (Muammar El Khatib) Date: Fri, 19 Jun 2009 08:28:08 -0430 Subject: [GUPy] =?utf-8?q?D=C3=ADa_para_discutir_cap=C3=ADtulo_5_de_la_gu?= =?utf-8?b?w61hLCB5IHNvbmRlby4uLg==?= In-Reply-To: <4c3651d60906190406i54d62f65x678ee456180c4480@mail.gmail.com> References: <4c3651d60906190406i54d62f65x678ee456180c4480@mail.gmail.com> Message-ID: <63e88c6d405be7af73a22741d73cbe78@proyectociencia.org> Hola, On Fri, 19 Jun 2009 06:06:47 -0500, Luis_Olivera_Navío wrote: >> Al ver esta parte del header de tu correo, veo que la hora de Perú está en GMT-0500, y se puede corroborar en: http://wwp.greenwichmeantime.com/time-zone/south-america/peru/time.htm >> >> Las preguntas que considero pertinentes serían: >> >> 1) ¿Qué grado de conocimiento de Python tienes? (si les es posible a >> todos los suscritos responder esta pregunta, sería excelente > > novato total > Perfecto. Muchas gracias por responder. >> 2) ¿Qué días te podrías reunir para discutir y estudiar los >> capítulos? > > miercoles por la noche, sabado por la mañana, todo el domingo, el resto de > dias a partir de las 10 pm > tendriamos que ponernos de acuerdo en el horario para coordinar las > diferencias horarias (yo de peru) > Venezuela está en GMT -0430. Tenemos tan solo 1/2 Hr de diferencia. Yo votaría porque fuera en algún momento del día domingo. >> >> 3) De acuerdo con la respuesta en la pregunta 1, ¿podrías ser >> facilitador >> o mentor de los primeros capítulos? >> >> En base a las respuestas a las preguntas planteadas, podemos hacer unas >> reuniones para que todos nos nivelemos hasta el capítulo 4, porque los >> que >> ya hemos comenzado nos toca discutir el capítulo 5. Yo creo que no >> habría >> ningún problema en dar una semana para discutir los 4 capítulos >> anteriores y luego todos reunirnos para discutir el capítulo 5. Hay 18 >> personas suscritas a esta lista, y supongo que 18 personas pensaríamos y >> estudiaríamos mejor que 3 o 4. Habrían más ideas en el entorno. >> > de acuerdo > He hablado con Alejandro, y creo que vamos a nivelar a otros que se encuentren en tu misma condición, ya que somos los que estamos un poco avanzados. Vamos a dar un pequeño tiempo más a ver si otras personas se animan a contestar. >> >> La guía que estamos leyendo es >> http://pyspanishdoc.sourceforge.net/tut/tut.html, aunque este material ha >> sido recopilado dentro del moodle para mayor facilidad. >> > la estoy revisando, gracias > Muy importante. Los primeros capítulos son sencillos. El Capítulo 4 es un poco largo. Saludos, -- Muammar El Khatib. Linux user: 403107. GPG Key = 127029F1 http://proyectociencia.org From alvarez.ciencia en gmail.com Fri Jun 26 00:26:59 2009 From: alvarez.ciencia en gmail.com (Alejandro Alvarez) Date: Fri, 26 Jun 2009 17:56:59 +1930 Subject: [GUPy] Prueba Message-ID: Hola Mundo 2 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From alvarez.ciencia en gmail.com Sat Jun 27 08:30:25 2009 From: alvarez.ciencia en gmail.com (Alejandro Alvarez) Date: Sun, 28 Jun 2009 02:00:25 +1930 Subject: [GUPy] Reto # 1 Finalizado. Message-ID: En estos días Muammar El Khatib propuso un reto, escribir un código en Python que dado un directorio, cambiara la extensión de todos sus archivos (o de un subconjunto). Pues bien, acá les envio mi primera version: # -*- coding: utf-8 -*- import os contador=0 listanew=[] nextension='pyx' # Nueva Extensión path='/home/alvarez/probando/' os.chdir(path) # coloco por defecto que el directorio de trabajo será el especificado por path lista=os.listdir('.') for archivos in lista: (nombre, extension) = os.path.splitext(archivos) listanew.append(os.path.join(nombre+'.'+nextension)) os.rename(archivos,listanew[contador]) contador=contador+1 Debo reconocer que me ayudaron solo sugiriendome el comando os.listdir('.') el cual no conocía. El resto lo hice con las herramientas desarrolladas en el curso y un poco de revisar las referencias que hay en la página de GUPy, especificamente el libro Dive to Python, y los módulos os y os.system, aunque este ultimo no lo utilize. Saludos :-) P.D. Dijimos que esto de los retos tenia una recompensa :) donde esta mi score o mi hamburguesa en Mc Donald xD Entonces, esperemos el segundo reto :-) ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From alvarez.ciencia en gmail.com Sat Jun 27 10:11:12 2009 From: alvarez.ciencia en gmail.com (Alejandro Alvarez) Date: Sun, 28 Jun 2009 03:41:12 +1930 Subject: [GUPy] Una nota adicional sobre el reto Message-ID: Uno de los problemas que tuvimos al principio fue poner los resultados del listado en forma de lista, intentamos recuerdo hacer algo así: a=os.system("ls *.py") pero no funcionó ... Acá les dejo una propuesta un poco larga, extraida de una discusión iniciada por mi en PyAr xD import os os.system('ls >> nom.ext') os.system('ls >>nom.ext') archivo=open('nom.ext','r') lista=archivo.read() si están trabajando en el modo interactivo, y llaman a lista, obtendrán lo resultado. Una lista con los archivos y sus extensiones, con sus paths incluidos :) Saludos, Alejandro Alvarez ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From alvarez.ciencia en gmail.com Sat Jun 27 11:01:14 2009 From: alvarez.ciencia en gmail.com (Alejandro Alvarez) Date: Sun, 28 Jun 2009 04:31:14 +1930 Subject: [GUPy] Reto # 1 Finalizado. In-Reply-To: References: Message-ID: El 28 de junio de 2009 02:00, Alejandro Alvarez escribió: > En estos días Muammar El Khatib propuso un reto, escribir un código en > Python que dado un directorio, cambiara la extensión de todos sus archivos > (o de un subconjunto). Pues bien, acá les envio mi primera version: > > # -*- coding: utf-8 -*- > import os > contador=0 > listanew=[] > nextension='pyx' # Nueva Extensión > path='/home/alvarez/probando/' > os.chdir(path) # coloco por defecto que el directorio de trabajo será el > especificado por path > lista=os.listdir('.') > for archivos in lista: > (nombre, extension) = os.path.splitext(archivos) > listanew.append(os.path.join(nombre+'.'+nextension)) > os.rename(archivos,listanew[contador]) > contador=contador+1 > > > Debo reconocer que me ayudaron solo sugiriendome el comando os.listdir('.') > el cual no conocía. El resto lo hice con las herramientas desarrolladas en > el curso y un poco de revisar las referencias que hay en la página de GUPy, > especificamente el libro Dive to Python, y los módulos os y os.system, > aunque este ultimo no lo utilize. Corrijo, modulos os y system XD > > > Saludos :-) > > P.D. Dijimos que esto de los retos tenia una recompensa :) donde esta mi > score o mi hamburguesa en Mc Donald xD > > Entonces, esperemos el segundo reto :-) > > > ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From muammar en proyectociencia.org Sun Jun 28 00:56:44 2009 From: muammar en proyectociencia.org (Muammar El Khatib) Date: Sat, 27 Jun 2009 18:26:44 -0430 Subject: [GUPy] Reto # 1 Finalizado. In-Reply-To: References: Message-ID: Hola Alejandro, On Sun, 28 Jun 2009 02:00:25 +1930, Alejandro Alvarez wrote: > En estos días Muammar El Khatib propuso un reto, escribir un código en > Python que dado un directorio, cambiara la extensión de todos sus archivos > (o de un subconjunto). Pues bien, acá les envio mi primera version: > > # -*- coding: utf-8 -*- > import os > contador=0 > listanew=[] > nextension='pyx' # Nueva Extensión > path='/home/alvarez/probando/' > os.chdir(path) # coloco por defecto que el directorio de trabajo será el > especificado por path > lista=os.listdir('.') > for archivos in lista: > (nombre, extension) = os.path.splitext(archivos) > listanew.append(os.path.join(nombre+'.'+nextension)) > os.rename(archivos,listanew[contador]) > contador=contador+1 > ¡Muy bien! voy a probarlo. La razón de haber puesto como problema esto, era ver cuáles son las limitaciones entre un lenguaje y otro. Es demasiado engorroso hacer el renombramiento de archivos en Python. Pero con esto queda de alguna manera asentado cuál es el enfoque que se debe tener el cuenta al programar en Python. > > Debo reconocer que me ayudaron solo sugiriendome el comando os.listdir('.') > el cual no conocía. El resto lo hice con las herramientas desarrolladas en > el curso y un poco de revisar las referencias que hay en la página de > GUPy, > especificamente el libro Dive to Python, y los módulos os y os.system, > aunque este ultimo no lo utilize. > Perfecto. Mis felicitaciones. > Saludos :-) > Saludos, > P.D. Dijimos que esto de los retos tenia una recompensa :) donde esta mi > score o mi hamburguesa en Mc Donald xD > Jajaja. Lo que podemos hacer es reunirnos en estos días en algún sitio para charlar acerca de Python y discutir algunas cosas del Proyecto (un poco off topic, pido disculpas por ello). > Entonces, esperemos el segundo reto :-) Seguro :) -- Muammar El Khatib. Linux user: 403107. GPG Key = 127029F1 http://proyectociencia.org From alejandroalvs en hotmail.com Sun Jun 28 00:58:34 2009 From: alejandroalvs en hotmail.com (alejandroalvs en hotmail.com) Date: Sat, 27 Jun 2009 15:58:34 -0700 Subject: [GUPy] =?iso-8859-1?q?Respuesta_autom=E1tica?= In-Reply-To: Message-ID: Se ha borrado un adjunto en formato HTML... URL: From muammar en proyectociencia.org Sun Jun 28 01:00:03 2009 From: muammar en proyectociencia.org (Muammar El Khatib) Date: Sat, 27 Jun 2009 18:30:03 -0430 Subject: [GUPy] Una nota adicional sobre el reto In-Reply-To: References: Message-ID: <90d51d0abe6e345e489af99ac6e7e908@proyectociencia.org> On Sun, 28 Jun 2009 03:41:12 +1930, Alejandro Alvarez wrote: > Uno de los problemas que tuvimos al principio fue poner los resultados del > listado en forma de lista, > > intentamos recuerdo hacer algo así: > > a=os.system("ls *.py") > Sí. Y ahora que colocaste el código que funcionaba me dio risa xD porque esa forma es más a la Bash Scripting way. LOL. > pero no funcionó ... > No, :S > Acá les dejo una propuesta un poco larga, extraida de una discusión > iniciada > por mi en PyAr xD > > import os > os.system('ls >> nom.ext') > os.system('ls >>nom.ext') > archivo=open('nom.ext','r') > lista=archivo.read() > > si están trabajando en el modo interactivo, y llaman a lista, obtendrán > lo > resultado. Una lista con los archivos y sus extensiones, con sus paths > incluidos :) > ¿Podrías elaborar por qué el uso de >>? ¿y por qué se repite dos veces? > Saludos, > Saludos, -- Muammar El Khatib. Linux user: 403107. GPG Key = 127029F1 http://proyectociencia.org From alvarez.ciencia en gmail.com Sun Jun 28 01:04:19 2009 From: alvarez.ciencia en gmail.com (Alejandro Alvarez) Date: Sun, 28 Jun 2009 18:34:19 +1930 Subject: [GUPy] Reto # 1 Finalizado. In-Reply-To: References: Message-ID: El 28 de junio de 2009 18:26, Muammar El Khatib escribió: > > Hola Alejandro, > > On Sun, 28 Jun 2009 02:00:25 +1930, Alejandro Alvarez > wrote: > > En estos días Muammar El Khatib propuso un reto, escribir un código en > > Python que dado un directorio, cambiara la extensión de todos sus > archivos > > (o de un subconjunto). Pues bien, acá les envio mi primera version: > > > > # -*- coding: utf-8 -*- > > import os > > contador=0 > > listanew=[] > > nextension='pyx' # Nueva Extensión > > path='/home/alvarez/probando/' > > os.chdir(path) # coloco por defecto que el directorio de trabajo será el > > especificado por path > > lista=os.listdir('.') > > for archivos in lista: > >   (nombre, extension) = os.path.splitext(archivos) > >   listanew.append(os.path.join(nombre+'.'+nextension)) > >   os.rename(archivos,listanew[contador]) > >   contador=contador+1 > > > > > ¡Muy bien! voy a probarlo. La razón de haber puesto como problema esto, > era ver cuáles son las limitaciones entre un lenguaje y otro. Es demasiado > engorroso hacer el renombramiento de archivos en Python. Pero con esto > queda de alguna manera asentado cuál es el enfoque que se debe tener el > cuenta al programar en Python. Realmente no es engorroso, depende de la profundidad de conocimientos del programador. En mi caso aun estoy iniciandome en Python. Por ejemplo mira esta forma, propuesta por alguien que si sabe: import os import glob for filename in glob.glob(os.path.join(path, "*.old"):    os.rename(filename, filename.replace(".old", ".new") solo 4 lineas :) dos de las cuales son llamados de modulos, así que solo hay dos lineas de código. Mi propuesta es mas bizarra xD > > > > > > Debo reconocer que me ayudaron solo sugiriendome el comando > os.listdir('.') > > el cual no conocía. El resto lo hice con las herramientas desarrolladas > en > > el curso y un poco de revisar las referencias que hay en la página de > > GUPy, > > especificamente el libro Dive to Python, y los módulos os y os.system, > > aunque este ultimo no lo utilize. > > > > Perfecto. Mis felicitaciones. Gracias xD > > > Saludos :-) > > > > Saludos, > > > P.D. Dijimos que esto de los retos tenia una recompensa :) donde esta mi > > score o mi hamburguesa en Mc Donald xD > > > > Jajaja. Lo que podemos hacer es reunirnos en estos días en algún sitio > para charlar acerca de Python y discutir algunas cosas del Proyecto (un > poco off topic, pido disculpas por ello). Pronto haremos un primer PyConf pero mucho mas informal, ademas aprovechamos para hablar lo de la distro ... aunque eso esta mas offtopic aun xD > > > Entonces, esperemos el segundo reto :-) > > Seguro :) > -- > Muammar El Khatib. > Linux user: 403107. > GPG Key = 127029F1 > http://proyectociencia.org > _______________________________________________ > GUPy mailing list > GUPy en proyectociencia.org > http://proyectociencia.org/cgi-bin/mailman/listinfo/gupy From alvarez.ciencia en gmail.com Sun Jun 28 01:09:34 2009 From: alvarez.ciencia en gmail.com (Alejandro Alvarez) Date: Sun, 28 Jun 2009 18:39:34 +1930 Subject: [GUPy] Una nota adicional sobre el reto In-Reply-To: <90d51d0abe6e345e489af99ac6e7e908@proyectociencia.org> References: <90d51d0abe6e345e489af99ac6e7e908@proyectociencia.org> Message-ID: > >> Acá les dejo una propuesta un poco larga, extraida de una discusión >> iniciada >> por mi en PyAr xD >> >> import os >> os.system('ls >> nom.ext') >> archivo=open('nom.ext','r') >> lista=archivo.read() >> > ¿Podrías elaborar por qué el uso de >>? ¿y por qué se repite dos > veces? Se repite dos veces porque lo copié mal :P y el >> es una asignación, es decir la información que expulsa el ls es grabada (asignada) al archivo (la variable) nom.ext Saludos :) From muammar en proyectociencia.org Sun Jun 28 01:45:13 2009 From: muammar en proyectociencia.org (Muammar El Khatib) Date: Sat, 27 Jun 2009 19:15:13 -0430 Subject: [GUPy] Reto # 1 Finalizado. In-Reply-To: References: Message-ID: On Sun, 28 Jun 2009 18:34:19 +1930, Alejandro Alvarez wrote: >> >> Jajaja. Lo que podemos hacer es reunirnos en estos días en algún sitio >> para charlar acerca de Python y discutir algunas cosas del Proyecto (un >> poco off topic, pido disculpas por ello). > > Pronto haremos un primer PyConf pero mucho mas informal, ademas > aprovechamos > para hablar lo de la distro ... aunque eso esta mas offtopic aun xD > A mi se me pasó esto. Pero lo podemos promover en LinuXpo 2009. Tienes que ir a la próxima reunión! Respetos, -- Muammar El Khatib. Linux user: 403107. GPG Key = 127029F1 http://proyectociencia.org From muammar en proyectociencia.org Sun Jun 28 01:47:00 2009 From: muammar en proyectociencia.org (Muammar El Khatib) Date: Sat, 27 Jun 2009 19:17:00 -0430 Subject: [GUPy] Una nota adicional sobre el reto In-Reply-To: References: <90d51d0abe6e345e489af99ac6e7e908@proyectociencia.org> Message-ID: <62ee9cf8941ad812bd2c2019eeba8c35@proyectociencia.org> On Sun, 28 Jun 2009 18:39:34 +1930, Alejandro Alvarez wrote: >> ¿Podrías elaborar por qué el uso de >>? ¿y por qué se repite dos >> veces? > > Se repite dos veces porque lo copié mal :P y el >> es una asignación, es > decir > la información que expulsa el ls es grabada (asignada) al archivo (la > variable) nom.ext > Claro, ahora entiendo. Solo pensé que pudiera haber sido alguna otra cosa. Gracias por aclarar. Saludos, -- Muammar El Khatib. Linux user: 403107. GPG Key = 127029F1 http://proyectociencia.org From alvarez.ciencia en gmail.com Sun Jun 28 01:53:51 2009 From: alvarez.ciencia en gmail.com (Alejandro Alvarez) Date: Sun, 28 Jun 2009 19:23:51 +1930 Subject: [GUPy] Reto # 1 Finalizado. In-Reply-To: References: Message-ID: >>> Jajaja. Lo que podemos hacer es reunirnos en estos días en algún sitio >>> para charlar acerca de Python y discutir algunas cosas del Proyecto (un >>> poco off topic, pido disculpas por ello). >> >> Pronto haremos un primer PyConf pero mucho mas informal, ademas >> aprovechamos >> para hablar lo de la distro ... aunque eso esta mas offtopic aun xD >> > > A mi se me pasó esto. Pero lo podemos promover en LinuXpo 2009. Tienes que > ir a la próxima reunión! Seguro ! > > Saludos, Alejandro Alvarez From alvarez.ciencia en gmail.com Sun Jun 28 01:57:51 2009 From: alvarez.ciencia en gmail.com (Alejandro Alvarez) Date: Sun, 28 Jun 2009 19:27:51 +1930 Subject: [GUPy] Una nota adicional sobre el reto In-Reply-To: <62ee9cf8941ad812bd2c2019eeba8c35@proyectociencia.org> References: <90d51d0abe6e345e489af99ac6e7e908@proyectociencia.org> <62ee9cf8941ad812bd2c2019eeba8c35@proyectociencia.org> Message-ID: >>> ¿Podrías elaborar por qué el uso de >>? ¿y por qué se repite dos >>> veces? >> >> Se repite dos veces porque lo copié mal :P y el >> es una asignación, > es >> decir >> la información que expulsa el ls es grabada (asignada) al archivo (la >> variable) nom.ext >> > > Claro, ahora entiendo. Solo pensé que pudiera haber sido alguna otra cosa. > Gracias por aclarar. Tranquilo, solo se que esto es todo un arte, llamado Bash in Python ... el acoplar el python al shell de un sistema operativo. Podemos crear entornos amigables parea la realización de tareas administrativas ... > > Saludos, > -- > Muammar El Khatib. > Linux user: 403107. > GPG Key = 127029F1 > http://proyectociencia.org > _______________________________________________ > GUPy mailing list > GUPy en proyectociencia.org > http://proyectociencia.org/cgi-bin/mailman/listinfo/gupy > From alvarez.ciencia en gmail.com Sun Jun 28 13:22:35 2009 From: alvarez.ciencia en gmail.com (Alejandro Alvarez) Date: Mon, 29 Jun 2009 06:52:35 +1930 Subject: [GUPy] =?iso-8859-1?q?Ya_sali=F3_Python_3=2E1?= Message-ID: Saludos, les escribo para informarles que ya salió python 3.1 *Overview* http://docs.python.org/3.1/index.html *Página Principal* http://docs.python.org/3.1/whatsnew/3.1.html#build-and-c-api-changes Saludos Cordiales, Alejandro Alvarez http://www.proyectociencia.org/gupy/ ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From alvarez.ciencia en gmail.com Mon Jun 29 19:13:35 2009 From: alvarez.ciencia en gmail.com (Alejandro Alvarez) Date: Tue, 30 Jun 2009 12:43:35 +1930 Subject: [GUPy] IDE's actualizados Message-ID: Hola, Hace 4 días salió Eclipse 3.5 Galileo http://www.eclipse.org/ y hoy se actualizó el Netbeans a la versión 6.7 http://www.netbeans.org/ Saludos, Alejandro Alvarez ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From muammar en proyectociencia.org Mon Jun 29 19:54:09 2009 From: muammar en proyectociencia.org (Muammar El Khatib) Date: Mon, 29 Jun 2009 13:24:09 -0430 Subject: [GUPy] IDE's actualizados In-Reply-To: References: Message-ID: <3208f579d5b1117b7c6db5688a2ebf49@proyectociencia.org> On Tue, 30 Jun 2009 12:43:35 +1930, Alejandro Alvarez wrote: > Hola, > > Hace 4 días salió Eclipse 3.5 Galileo > > http://www.eclipse.org/ > > y hoy se actualizó el Netbeans a la versión 6.7 > > http://www.netbeans.org/ > Gracias por la información. -- Muammar El Khatib. Linux user: 403107. GPG Key = 127029F1 http://proyectociencia.org From muammar en proyectociencia.org Mon Jun 29 20:34:38 2009 From: muammar en proyectociencia.org (Muammar El Khatib) Date: Mon, 29 Jun 2009 14:04:38 -0430 Subject: [GUPy] =?utf-8?q?Solicitud_de_creaci=C3=B3n_de_p=C3=A1gina_de_not?= =?utf-8?q?icias?= Message-ID: Hola, El motivo del presente correo es una petición de creación de una página de noticias bajo http://proyectociencia.org/gupy. He publicado una noticia en el index del proyecto referente a la nivelación que vamos a hacer para el curso de Python (http://www.proyectociencia.org/index.php/noticias). He podido notar que la lista de correo por los momentos no está resultando como lo pensaba, tal vez habrá que esperar un tiempo más. Propongo la creación de la sección de noticias en GUPy para tener otro medio para informar a los interesados de lo que está sucediendo. Creo que es una manera bastante cómoda para muchos usuarios aunque sin embargo tarde o temprano tendrán que usar la lista de correo. También sería importante colocar la dirección a nuestro pastebin (http://proyectociencia.org/pastebin) así como también colocar información relacionada a que el Wiki (http://proyectociencia.org/Wiki) puede ser usado como un repositorio de códigos hechos en Python u otro lenguaje que estén interesados en publicar. Un saludo, PD. Estoy esperando la respuesta por parte de una persona interesada que contactó a Alejandro para proceder a enviar el correo de cuándo comenzamos la nivelación del curso. Ya es momento de hacerlo. -- Muammar El Khatib. Linux user: 403107. GPG Key = 127029F1 http://proyectociencia.org From alvarez.ciencia en gmail.com Mon Jun 29 20:47:35 2009 From: alvarez.ciencia en gmail.com (Alejandro Alvarez) Date: Tue, 30 Jun 2009 14:17:35 +1930 Subject: [GUPy] =?iso-8859-1?q?Solicitud_de_creaci=F3n_de_p=E1gina_de_noti?= =?iso-8859-1?q?cias?= In-Reply-To: References: Message-ID: El 30 de junio de 2009 14:04, Muammar El Khatib escribió: > Hola, > > El motivo del presente correo es una petición de creación de una página > de noticias bajo http://proyectociencia.org/gupy. He publicado una noticia > en el index del proyecto referente a la nivelación que vamos a hacer para > el curso de Python (http://www.proyectociencia.org/index.php/noticias). Entiendo ... lo estaba pensando tambien :) > > > He podido notar que la lista de correo por los momentos no está resultando > como lo pensaba, tal vez habrá que esperar un tiempo más. Propongo la > creación de la sección de noticias en GUPy para tener otro medio para > informar a los interesados de lo que está sucediendo. Creo que es una > manera bastante cómoda para muchos usuarios aunque sin embargo tarde o > temprano tendrán que usar la lista de correo. La lista de correo es nuestro mejor medio de comuinicación ... > > > También sería importante colocar la dirección a nuestro pastebin > (http://proyectociencia.org/pastebin) así como también colocar > información relacionada a que el Wiki (http://proyectociencia.org/Wiki) > puede ser usado como un repositorio de códigos hechos en Python u otro > lenguaje que estén interesados en publicar. > > Un saludo, > > PD. Estoy esperando la respuesta por parte de una persona interesada que > contactó a Alejandro para proceder a enviar el correo de cuándo > comenzamos la nivelación del curso. Ya es momento de hacerlo. Me ofrezco a dictar un nuevo curso en paralelo, sera muy difícil nivelar en un solo día. Los cursistas del curso actual pueden colaborar con esta tarea. Pero la lectura de ciertos capítulos requiere tiempo de asimilación y practica, por lo que creo que una nivelación atrasará mucho a los mas avanzados. De todas formas esto se puede discutir y tomar la mejor desición, esto es solo una propuesta :) Saludos, -- Alejandro J. Alvarez S. Linux Registered User #483871 http://scialvarez.blogspot.com http://www.proyectociencia.org +58-261-7141182 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: From muammar en proyectociencia.org Mon Jun 29 21:04:51 2009 From: muammar en proyectociencia.org (Muammar El Khatib) Date: Mon, 29 Jun 2009 14:34:51 -0430 Subject: [GUPy] =?utf-8?q?Solicitud_de_creaci=C3=B3n_de_p=C3=A1gina_de_not?= =?utf-8?q?icias?= In-Reply-To: References: Message-ID: <16e1879b044e648a28aacba59e7fb20a@proyectociencia.org> On Tue, 30 Jun 2009 14:17:35 +1930, Alejandro Alvarez >> >> El motivo del presente correo es una petición de creación de una >> página >> de noticias bajo http://proyectociencia.org/gupy. He publicado una >> noticia >> en el index del proyecto referente a la nivelación que vamos a hacer >> para >> el curso de Python (http://www.proyectociencia.org/index.php/noticias). > > > Entiendo ... lo estaba pensando tambien :) > Bueno, cuando tengas un tiempo si puedes la creas por favor :) >> He podido notar que la lista de correo por los momentos no está >> resultando >> como lo pensaba, tal vez habrá que esperar un tiempo más. Propongo la >> creación de la sección de noticias en GUPy para tener otro medio para >> informar a los interesados de lo que está sucediendo. Creo que es una >> manera bastante cómoda para muchos usuarios aunque sin embargo tarde o >> temprano tendrán que usar la lista de correo. > > > La lista de correo es nuestro mejor medio de comuinicación ... > Sin duda alguna. >> También sería importante colocar la dirección a nuestro pastebin >> (http://proyectociencia.org/pastebin) así como también colocar >> información relacionada a que el Wiki (http://proyectociencia.org/Wiki) >> puede ser usado como un repositorio de códigos hechos en Python u otro >> lenguaje que estén interesados en publicar. >> >> Un saludo, >> >> PD. Estoy esperando la respuesta por parte de una persona interesada que >> contactó a Alejandro para proceder a enviar el correo de cuándo >> comenzamos la nivelación del curso. Ya es momento de hacerlo. > > > Me ofrezco a dictar un nuevo curso en paralelo, sera muy difícil nivelar > en > un solo día. > Los cursistas del curso actual pueden colaborar con esta tarea. Pero la > lectura de > ciertos capítulos requiere tiempo de asimilación y practica, por lo que > creo > que > una nivelación atrasará mucho a los mas avanzados. > Estoy de acuerdo, me parece bien. Un ejemplo claro es el capítulo 4. Hay que tomarse un tiempo para digerirlo bien. > De todas formas esto se puede discutir y tomar la mejor desición, esto es > solo una > propuesta :) Yo apoyo la propuesta. Se comienzan cursos en paralelo, y nos encargamos de terminar nosotros todos los capítulos (los que vamos avanzados). Saludos, -- Muammar El Khatib. Linux user: 403107. GPG Key = 127029F1 http://proyectociencia.org From alvarez.ciencia en gmail.com Tue Jun 30 13:04:32 2009 From: alvarez.ciencia en gmail.com (Alejandro Alvarez) Date: Wed, 1 Jul 2009 06:34:32 +1930 Subject: [GUPy] random.radom() Message-ID: Esta noche trate de (conquistar el mundo) ... digo, de crear una red numérica de puntos que me cubriese el intervalo en el plano [0,1]x[0,1]. Escribi este mini-programa :-) import Gnuplot import random gp = Gnuplot.Gnuplot() red=[] for i in range(1000000): red.append([random.random(),random.random()]) # gp.plot(red) la duda es la siguiente, saben que método usaron para crear el random, es decir, para la opcion de punto flotante random.random() usaron congruencias, método montecarlo ¿? La segunda pregunta, mas Pythonica es, ¿hay una forma menos pesada para generar esta data?, observen que si quitan el numeral, una computadora promedio se tarda aprox. 2-3 minutos en desplegar la gráfica. Voy a probar con matlibplot a ver como me va ... Saludos, -- Alejandro J. Alvarez S. Linux Registered User #483871 http://scialvarez.blogspot.com http://www.proyectociencia.org +58-261-7141182 ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: