From diazjoseantonio en hotmail.com Fri Aug 1 02:40:06 2003 From: diazjoseantonio en hotmail.com (diazjoseantonio en hotmail.com) Date: Thu, 31 Jul 2003 21:40:06 -0300 Subject: Que no hace Message-ID: Hola a todos: Surgió en la facultad el tema de hacer un trabajo práctico sobre lenguajes de programación y resultó que mi elección fue investigar sobre PYTHON. Es realmente fascinante todo lo maravilloso que aparenta ser como alternativa al famoso VB. Necesitaría que me informen sobre los asuntos todavía no cubiertos por este lenguaje (donde termina su alcance). Donde comienza la necesidad de recurrir a otra herramienta o lenguaje. Es mucha la información que encuentro sobre todo lo que si puede hacer. No encuentro nada sobre lo que no puede hacer por si mismo. Les agredecere cualquier colaboracion. Saludos a todos. José ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From dajoy en openworldlearning.org Fri Aug 1 04:10:56 2003 From: dajoy en openworldlearning.org (Daniel Ajoy) Date: Thu, 31 Jul 2003 21:10:56 -0500 Subject: Problemas de rendimiento?? In-Reply-To: <20030731175415.833B5103C41F@devnull.aditel.org> References: <20030731175415.833B5103C41F@devnull.aditel.org> Message-ID: <3F2985E0.7311.12640C0@localhost> ES más eficiente usar llamadas a código en C. ES más eficiente usar Assembler. ES mas eficiente quemar el proceso directamente en Hardware. pero de qué velocidad necesitas que sea el proceso? Necesitas correrlo una vez a la semana? Cada vez que un usuario lo requiera? Una sola vez en la vida? Digamos que en Python te demores 2 horas en codificar y 3 horas en C. Si el código en Python se demora 30 minutos y en C se demora 1 segundo. todavía así te sale más rápido hacerlo en Python. Python: Desarrollo 2h + Ejecución 0.5 h = 2.5h C: Desarrollo 3h + Ejecución 0h = 3h Daniel > From: Diego Chaparro > Subject: [Python-es] Problemas de rendimiento?? > To: python-es en aditel.org > Message-ID: <3F28E3C5.9090206 en sinvest.es> > Content-Type: text/plain; charset=ISO-8859-1; format=flowed > > > Hola a todos, > > Os cuento, estoy empezando a hacer una aplicación que tiene como > finalidad el procesamiento de datos. Básicamente tendrá como entrada dos > ficheros con datos, los tratará de alguna forma ( convertir valores, > comparar, ... ) y generará unos resultados. La cuestión es que el > volumen de datos que tendrá que tratar será muy elevado, puede que cada > fichero pueda tener hasta 800.000 o 1.000.000 de líneas, y me preocupa > que sea un proceso demasiado pesado para hacer con python, porque > siempre he leido que cuando se quería hacer procesamiento complejo de > datos sería más eficiente utilizar llamadas a código c que hiciera el > procesamiento. > ¿Qué pensáis? ¿Me olvido de hacerlo en python directamente o intento > hacerlo en python optimizando los algoritmos para tratar los datos? > ¿Alguna experiencia similar? ¿Consejos? > > Gracias. > From Andres.Moya en hispalinux.es Fri Aug 1 08:46:00 2003 From: Andres.Moya en hispalinux.es (Andres Moya) Date: 01 Aug 2003 08:46:00 +0200 Subject: Problemas de rendimiento?? In-Reply-To: <3F28E3C5.9090206@sinvest.es> References: <3F28E3C5.9090206@sinvest.es> Message-ID: <1059720360.2629.15.camel@cebollino.micasa.es> El jue, 31 de 07 de 2003 a las 11:39, Diego Chaparro escribió: > [...] puede que cada > fichero pueda tener hasta 800.000 o 1.000.000 de líneas, y me preocupa > que sea un proceso demasiado pesado para hacer con python, porque > siempre he leido que cuando se quería hacer procesamiento complejo de > datos sería más eficiente utilizar llamadas a código c que hiciera el > procesamiento. El python es más lento que los lenguajes compilados en cuanto a operaciones que consuman tiempo de procesador. Pero las operaciones con datos masivos almacenados en disco, lo que consumen es tiempo de la sección de entrada/salida. En una aplicación de éstas casi todo el tiempo está trayendo y guardando datos del disco, y muy poco ejecutando código del programa. Por eso la velocidad de ejecución del mismo influye muy poco en el resultado final. Excepto, claro, si tienes que ejecutar cálculos matemáticos muy complejos sobre cada dato (con funciones recursivas, cálculos de integrales, o cosas así). Si no es así, yo creo que Python es perfectamente adecuado. E incluso si fuera así, puedes escribir el cálculo matemático en C, y el resto en Python. -- Andres Moya Contra la guerra global permanente. Foro Social Mundial - Otro mundo es posible. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From falted en openlc.org Fri Aug 1 10:33:58 2003 From: falted en openlc.org (Francesc Alted) Date: Fri, 1 Aug 2003 10:33:58 +0200 Subject: Problemas de rendimiento?? In-Reply-To: <3F2985E0.7311.12640C0@localhost> References: <3F2985E0.7311.12640C0@localhost> Message-ID: <200308011033.58235.falted@openlc.org> A Divendres 01 Agost 2003 04:10, Daniel Ajoy va escriure: > ES más eficiente usar llamadas a código en C. > ES más eficiente usar Assembler. Lo de que emsamblador es más rápido que C es, como mínimo, discutible. Hace mucho tiempo que las CPUs usan unas técnicas tan sofisticadas de caching, ejecución paralela y evaluación perezosa de condiciones que hacen que uno tenga que saber demasiada arquitectura para generar código en ensamblador más eficiente que los modernos compiladores C. > ES mas eficiente quemar el proceso directamente en Hardware. Bueno, de esto ya ni hablamos ;-) En fin, lamento la disgresión, -- Francesc Alted From falted en openlc.org Fri Aug 1 11:20:42 2003 From: falted en openlc.org (Francesc Alted) Date: Fri, 1 Aug 2003 11:20:42 +0200 Subject: ANN: PyTables 0.7 Message-ID: <200308011120.42337.falted@openlc.org> Hola a todos, Acabo de hacer el anuncio oficial de la nueva versión de PyTables. En ella podreis encontrar: - Soporte de elementos multidimensionales en tablas - Soporte de borrado de registros en tablas - Nuevos descriptores de columnas - 25% de mejora en la velocidad de I/O - Nueva clase AttributeSet para fácil gestion de metadatos - Nuevos iteradores para un mayor confort de uso, especialmente en modo interactivo. - Y más... Abajo tienes el anuncio original (reconozco que soy demasiado perezoso para traducirlo :-): Pues nada, hazme llegar cualquier problema, sugerencia, crítica o dolores estomacales varios que puedas tener. Saludos, Francesc Alted Announcing PyTables 0.7 ----------------------- PyTables is a hierarchical database package designed to efficently manage very large amounts of data. PyTables is built on top of the HDF5 library and the numarray package and features an object-oriented interface that, combined with C-code generated from Pyrex sources, makes it a fast, yet extremely easy to use tool for interactively save and retrieve large amounts of data. Release 0.7 is the third public beta release. The version 0.6 was internal and will never be released. What's new ----------- - A new AttributeSet class has been added. This will allow the addition and deletion of generic attributes (any scalar type plus any Python object supported by Pickle) as easy as this: table.attrs.date = "2003/07/28 10:32" # Attach a string to table group._v_attrs.tempShift = 1.2 # Attach a float to group array.attrs.detectorList = [1,2,3,4] # Attach a list to array del array.attrs.detectorList # Detach detectorList attr from array - PyTables now has support for fully multidimensional table cells. This has been made possible in part by implementation of multidimensional cells in numarray.records.RecArray object. Thanks to numarray crew, and especially to Jin-chung Hsu, for willingly accepting to do that, and also for including some cache improvements in RecArray. - New column descriptors added: IntCol, Int8Col, UInt8Col, Int16Col, UInt16Col, Int32Col, UInt32Col, Int64Col, UInt64Col, FloatCol, Float32Col, Float64Col and StringCol. I think they are more explicit and easy-to-use than the now deprecated (but still supported) Col() descriptor. All the examples and user's manual has been accordingly updated. - The new Table.removeRows(start, stop) function allows you to remove rows from tables. This feature was requested a long time ago. There are still limitations, however: you cannot delete rows in extremely large Tables (as the remaining rows after the stop parameter are stored in memory). Nor is the performance optimized. These issues will hopefully be addressed in future releases. - Added iterators to File, Group and Table (they now support the special __iter__() method). They make the object much more user-friendly, especially in interactive mode. See documentation for usage examples. - Added a __getitem__() method to Table that works more or less like read(), but with extended slices support. - As a consequence of rewriting table iterators in C (with the help of Pyrex, of course) the table read performance has been improved between 20% and 30%. Data selections in PyTables are now starting to beat powerful relational databases like SQLite, even compared to in-core selects (!). I think there is still room for another 20% or 30% speed improvement, so stay tuned. - A checksum is now added automatically when using LZO (not with UCL where I'm having some difficulties implementing that capability). The Adler32 algorithm has been chosen because of its speed. With that, the compressing/decompressing speed has dropped 1% or 2%, which is hardly noticeable. I think this addition will allow the cautious user to be a bit more confident about this excellent compressor. Code has been added to be able to read files created without this checksum (so you can be confident that you will be able to read your existing files compressed with LZO and UCL). - Recursion has been removed from PyTables. Before, this made the maximum depth tree to be less than the Python recursion limit (which depends on implementation, but is around 900, at least in Linux). Now, the limit has been set (somewhat arbitrarily) at 2048. Thanks to John Nielsen for implementing the new iterative method!. - A new rootUEP parameter to openFile() has been added. You can now define the root from which you want to start to build the object tree. Thanks to John Nielsen for the suggestion and a first implementation. - A small bug fixed when dealing with non-native PyTables files that prevented the use of the "classname" filter during a listNodes() call. Thanks to Jeff Robbins for reporting that. - Some (non-serious) bugs were discovered and fixed. - Updated documentation to explain all these new bells and whistles. It is also available on the web: http://pytables.sourceforge.net/html-doc/usersguide-html.html - Added more unit tests (more than 350 now!) - PyTables 0.7 *needs* numarray 0.6 or higher and HDF-1.6.0 or higher to compile and work. It has been tested with Python 2.2 and 2.3 and should work fine on both versions. What is a table? ---------------- A table is defined as a collection of records whose values are stored in fixed-length fields. All records have the same structure and all values in each field have the same data type. The terms "fixed-length" and "strict data types" seems to be quite a strange requirement for an language like Python, that supports dynamic data types, but they serve a useful function if the goal is to save very large quantities of data (such as is generated by many scientific applications, for example) in an efficient manner that reduces demand on CPU time and I/O resources. What is HDF5? ------------- For those people who know nothing about HDF5, it is is a general purpose library and file format for storing scientific data made at NCSA. HDF5 can store two primary objects: datasets and groups. A dataset is essentially a multidimensional array of data elements, and a group is a structure for organizing objects in an HDF5 file. Using these two basic constructs, one can create and store almost any kind of scientific data structure, such as images, arrays of vectors, and structured and unstructured grids. You can also mix and match them in HDF5 files according to your needs. Platforms --------- I'm using Linux as the main development platform, but PyTables should be easy to compile/install on other UNIX machines. This package has also passed all the tests on a UltraSparc platform with Solaris 7 and Solaris 8. It also compiles and passes all the tests on a SGI Origin2000 with MIPS R12000 processors and running IRIX 6.5. Regarding Windows platforms, PyTables has been tested with Windows 2000 and Windows XP, but it should also work with other flavors. An example? ----------- For online code examples, have a look at http://pytables.sourceforge.net/tut/tutorial1-1.html and http://pytables.sourceforge.net/tut/tutorial1-2.html Web site -------- Go to the PyTables web site for more details: http://pytables.sourceforge.net/ Share your experience --------------------- Let me know of any bugs, suggestions, gripes, kudos, etc. you may have. Have fun! -- Francesc Alted From ch3m4 en ch3m4.org Fri Aug 1 11:16:03 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Fri, 01 Aug 2003 11:16:03 +0200 Subject: Que no hace In-Reply-To: References: Message-ID: diazjoseantonio en hotmail.com escribió: > Hola a todos: > Surgió en la facultad el tema de hacer un trabajo práctico sobre > lenguajes de programación y resultó que mi elección fue investigar sobre > PYTHON. Es realmente fascinante todo lo maravilloso que aparenta ser > como alternativa al famoso VB. Necesitaría que me informen sobre los > asuntos todavía no cubiertos por este lenguaje (donde termina su > alcance). Donde comienza la necesidad de recurrir a otra herramienta o > lenguaje. Para empezar, habría que diferenciar lenguaje de programación (sintaxis) de lo que son las herramientas de desarrollo (módulos, IDE, etc). Python, en cuanto a sintaxis, "no es" un lenguaje para sistemas de tiempo real, ni es declarativo, ni es funcional, ... no es compilado ni tiene "declaración fuerte" de tipos,...pero esto no puede considerarse una limitación para hacer cosas. Existe estrategias que suplen o emulan estas características. La pregunta habría que enfocarla más a si el lenguaje python puede ser considerado como "lenguaje de propósito general" como C/C++ ó Java. Y la respuesta sería que no, que técnicamente python debe calificarse como "lenguaje de script", o sea, un lenguaje que interactua con el sistema y el resto de aplicaciones controlando la ejecución y el traspaso de información entre procesos. El código python es quien dirije la ejecución, pero es otro quien ejecuta. Si algo falta, siempre lo puedes añadir como módulo ó aplicación. Se puede afirmar que si algo se puede hacer en C/C++, es que se puede hacer en python (idem con Java y Jython). Y llegando aquí, creo que sigo sin haberte respondido del todo a la pregunta: ¿dónde comienza la necesidad de recurrir a otra herramienta o lenguaje? Y aquí podríamos hablar, por un lado, del "estado del arte" (state of art) del python. A medida que pasa el tiempo, python es más universal y empieza a estar presente en cualquier sistema. Aún no está muy trabajado en .NET/mono, donde seguramente tendrás que recurrir a otros lenguajes. Por otro lado, hay campos específicos donde es casi obligado utilizar lenguajes más especializados como es la programación de sistemas de tiempo real, programación de hardware, diseño electrónico de alta escala de integración (VHDL), e inteligencia artificial. Seguramente me dejo cosas. Por ejemplo, no estoy seguro si en oracle se puede almacenar procedimientos en python como se puede hacer en postgresql. Pero espero haberte dado una idea de la cuestión. Saludos, Chema From diazjoseantonio en hotmail.com Fri Aug 1 13:45:56 2003 From: diazjoseantonio en hotmail.com (diazjoseantonio en hotmail.com) Date: Fri, 1 Aug 2003 08:45:56 -0300 Subject: Que no hace References: Message-ID: Gracias por tu respuesta fue de gran ayuda. ----- Original Message ----- From: "Chema Cortés" To: Sent: Friday, August 01, 2003 6:16 AM Subject: [Python-es] Re: Que no hace > diazjoseantonio en hotmail.com escribió: > > Hola a todos: > > Surgió en la facultad el tema de hacer un trabajo práctico sobre > > lenguajes de programación y resultó que mi elección fue investigar sobre > > PYTHON. Es realmente fascinante todo lo maravilloso que aparenta ser > > como alternativa al famoso VB. Necesitaría que me informen sobre los > > asuntos todavía no cubiertos por este lenguaje (donde termina su > > alcance). Donde comienza la necesidad de recurrir a otra herramienta o > > lenguaje. > > Para empezar, habría que diferenciar lenguaje de programación (sintaxis) > de lo que son las herramientas de desarrollo (módulos, IDE, etc). > > Python, en cuanto a sintaxis, "no es" un lenguaje para sistemas de > tiempo real, ni es declarativo, ni es funcional, ... no es compilado ni > tiene "declaración fuerte" de tipos,...pero esto no puede considerarse > una limitación para hacer cosas. Existe estrategias que suplen o emulan > estas características. > > La pregunta habría que enfocarla más a si el lenguaje python puede ser > considerado como "lenguaje de propósito general" como C/C++ ó Java. Y la > respuesta sería que no, que técnicamente python debe calificarse como > "lenguaje de script", o sea, un lenguaje que interactua con el sistema y > el resto de aplicaciones controlando la ejecución y el traspaso de > información entre procesos. El código python es quien dirije la > ejecución, pero es otro quien ejecuta. Si algo falta, siempre lo puedes > añadir como módulo ó aplicación. Se puede afirmar que si algo se puede > hacer en C/C++, es que se puede hacer en python (idem con Java y Jython). > > Y llegando aquí, creo que sigo sin haberte respondido del todo a la > pregunta: ¿dónde comienza la necesidad de recurrir a otra herramienta o > lenguaje? Y aquí podríamos hablar, por un lado, del "estado del arte" > (state of art) del python. A medida que pasa el tiempo, python es más > universal y empieza a estar presente en cualquier sistema. Aún no está > muy trabajado en .NET/mono, donde seguramente tendrás que recurrir a > otros lenguajes. > > Por otro lado, hay campos específicos donde es casi obligado utilizar > lenguajes más especializados como es la programación de sistemas de > tiempo real, programación de hardware, diseño electrónico de alta escala > de integración (VHDL), e inteligencia artificial. > > Seguramente me dejo cosas. Por ejemplo, no estoy seguro si en oracle se > puede almacenar procedimientos en python como se puede hacer en > postgresql. Pero espero haberte dado una idea de la cuestión. > > Saludos, > Chema > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From diazjoseantonio en hotmail.com Fri Aug 1 13:50:53 2003 From: diazjoseantonio en hotmail.com (diazjoseantonio en hotmail.com) Date: Fri, 1 Aug 2003 08:50:53 -0300 Subject: Como funciona sin crear un ejecutable en otra maquina ??? References: Message-ID: Hola a todos, Les hago una consulta que seguramente es muy básica. Debo instalar una distribución de Python ej: Python 2.2.2 para que funcione un programa en cualquier equipo ademas del mio o basta con pasar solo algunos archivos para que arranque la "máquina virtual" y comience a correr el programa creado. Saludos y gracias From ch3m4 en ch3m4.org Fri Aug 1 14:02:30 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Fri, 01 Aug 2003 14:02:30 +0200 Subject: Como funciona sin crear un ejecutable en otra maquina ??? In-Reply-To: References: Message-ID: diazjoseantonio en hotmail.com escribió: > Hola a todos, > Les hago una consulta que seguramente es muy básica. > Debo instalar una distribución de Python ej: Python 2.2.2 para que > funcione un programa en cualquier equipo ademas del mio o basta con pasar > solo algunos archivos para que arranque la "máquina virtual" y comience a > correr el programa creado. Pues así, sin más, bastaría con pasar la máquina virtual y los módulos que vayas a usar. El problema es que no es fácil saber qué módulos estás empleando, y las particularidades del sistemas operativo (en windows no puedes pasar una DLL así como así). Es mejor utilizar "instaladores", "freezers" y "empaquetadores". Mira esta página: http://www.mcmillan-inc.com/install1.html From dmoya en 4c.ucc.ie Fri Aug 1 14:12:56 2003 From: dmoya en 4c.ucc.ie (Diego Moya) Date: Fri, 1 Aug 2003 13:12:56 +0100 Subject: Problemas de rendimiento?? In-Reply-To: <20030801114354.A44E9103C94A@devnull.aditel.org> References: <20030801114354.A44E9103C94A@devnull.aditel.org> Message-ID: <200308011312.56133.dmoya@4c.ucc.ie> > Date: 01 Aug 2003 08:46:00 +0200 > From: Andres Moya > > El jue, 31 de 07 de 2003 a las 11:39, Diego Chaparro escribió: > > [...] puede que cada > > fichero pueda tener hasta 800.000 o 1.000.000 de líneas, y me preocupa > > que sea un proceso demasiado pesado para hacer con python, porque > > siempre he leido que cuando se quería hacer procesamiento complejo de > > datos sería más eficiente utilizar llamadas a código c que hiciera el > > procesamiento. > > El python es más lento que los lenguajes compilados en cuanto a > operaciones que consuman tiempo de procesador. Pero las operaciones con > datos masivos almacenados en disco, lo que consumen es tiempo de la > sección de entrada/salida. > > -- > Andres Moya > Saludos, estimado conocido! ;-) Para acelerar el rendimiento de cualquier script o programa Python, recomiendo instalar el paquete Psyco ( http://psyco.sourceforge.net/introduction.html ). Eso sí, sólo se puede utilizar los que tengáis PC, no Mac u otras arquitecturas. Una vez instalado, para usarlo basta incluir estas lineas al comienzo de la aplicación: import psyco psyco.full() Haciendo esto, el programa se optimiza automáticamente, compilandose a código máquina en tiempo de ejecución. También hay otros proyectos alternativos a Psyco enlazados desde su página: http://psyco.sourceforge.net/links.html -- Diego From antonio.beamud en linkend.com Fri Aug 1 14:03:50 2003 From: antonio.beamud en linkend.com (Antonio Beamud Montero) Date: 01 Aug 2003 14:03:50 +0200 Subject: Que no hace In-Reply-To: References: Message-ID: <1059739430.961.2.camel@canibal> On vie, 2003-08-01 at 11:16, Chema Cortés wrote: > tiempo real, ni es declarativo, ni es funcional, ... no es compilado ni > tiene "declaración fuerte" de tipos,...pero esto no puede considerarse > una limitación para hacer cosas. Existe estrategias que suplen o emulan > estas características. ¿Que significa "declaración fuerte" de tipos? > La pregunta habría que enfocarla más a si el lenguaje python puede ser > considerado como "lenguaje de propósito general" como C/C++ ó Java. Y la > respuesta sería que no, que técnicamente python debe calificarse como ¿A que te refieres con que no puede considerarse un lenguaje de proposito general como java? Yo creo que más bien es al contrario... Saluti P.D: Felices vacaciones a los que las tengan :-) -- Antonio Beamud Montero From aporcar en dipcas.es Fri Aug 1 14:06:16 2003 From: aporcar en dipcas.es (Alvar Porcar) Date: Fri, 01 Aug 2003 14:06:16 +0200 Subject: Informes en Python Message-ID: <3F2A57B8.9060505@dipcas.es> Alguien sabe si existe algún módulo que facilite la elaboración de informes a partir de consultas a una base de datos? Gracias, -- From jesus en roncero.org Fri Aug 1 15:29:25 2003 From: jesus en roncero.org (=?iso-8859-15?q?Jes=FAs=20Roncero?=) Date: Fri, 1 Aug 2003 15:29:25 +0200 Subject: Mensajes a la lista Message-ID: <200308011529.25891.jesus@roncero.org> Hola, os recuerdo que para enviar mensajes a la lista python-es hay que estar suscritos a la misma. Lo digo porque muchas veces se envian mensajes a la lista desde otra dirección que no es la que está suscrita y el sistema las intercepta. Normalmente esto no supone mucha molestia para los administradores que sólo tienen que ir a la interfaz administrativa y dejar pasar el mensaje. Pero ahora en estas fechas estivales estamos todos yendo y viniendo y este proceso se puede demorar bastante.[Es por eso que os acabarán de llegar mensajes de hace 10 días] Sería preferible que estuviéseis suscritos con todas las direcciones de correo que utilizais normalmente. Si lo que os preocupa es la duplicación de mensajes, podéis desactivar el envio de los mensajes individuales en todas las direcciones suscritas excepto en la que normalmente recogeis el correo en la página de la lista: http://listas.aditel.org/listinfo/python-es Gracias. Un saludo y espero que el calor os esté tratando mejor que a mí! -- Jesús Roncero Franco | running debian linux Sevilla - Spain | gpg-key available ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From tjavier en usuarios.retecal.es Fri Aug 1 16:30:55 2003 From: tjavier en usuarios.retecal.es (=?ISO-8859-1?Q?Tom=E1s?= Javier Robles Prado) Date: 01 Aug 2003 16:30:55 +0200 Subject: Dudas =?ISO-8859-1?Q?programaci=F3n?= GUI In-Reply-To: <3F1E2DAE.5060900@dipcas.es> References: <3F1E2DAE.5060900@dipcas.es> Message-ID: <1059748254.2166.2.camel@cable206a189.usuarios.retecal.es> El mi? 23-07-2003 a las 08:39, Alvar Porcar escribió: > Hola a todos, > Soy nuevo en Python y estoy mirando toda la documentación que encuentro > por ahí, pero tengo una duda que seguro que vosotros me la podreis > aclarar. En cuanto a programar GUI veo que hay bastantes formas de > hacerlo, pero ¿ Cual es la forma óptima de desarrollar aplicaciones con > un interfaz gráfico de usuario aceptable.?. ¿Qué módulos es mejor usar? > ¿ Qué herramientas pueden ayudar en dicho diseño gráfico?. > Gracias, Todo depende de lo que quieras. Si quieres una aplicación portable, una aplicación atractiva... Esta pregunta ha salido muchas veces en la lista, intenta buscar en los archivos de meses anteriores. Un pequeño análisis de los diferentes toolkits puedes encontralo en http://milugar.homeip.net:8080/mi_lugar/articulos/guis-python -- Un saludo, Tomás Javier Robles Prado http://milugar.doesntexist.org ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rabs en dimension-virtual.com Fri Aug 1 19:10:38 2003 From: rabs en dimension-virtual.com (=?iso-8859-1?Q?Ra=FAl?= Alexis Betancort Santana) Date: Fri, 1 Aug 2003 18:10:38 +0100 Subject: Informes en Python In-Reply-To: <3F2A57B8.9060505@dipcas.es> References: <3F2A57B8.9060505@dipcas.es> Message-ID: <20030801171037.GA7354@dimension-virtual.com> El Fri, Aug 01, 2003 at 02:06:16PM +0200, Alvar Porcar escribió: > Alguien sabe si existe algún módulo que facilite la elaboración de > informes a partir de consultas a una base de datos? > Gracias, Reportlabs y su soporte de xml pueden ser una buena solución, ahora .. diseñar el informe es un santo coñazo. Saludos -- _ _ // Raúl A. Betancort Santana /> A Dream is an answer to __ \\ // // question that we don't know (oo) \\ // Dimensión Virtual S.L. // how to ask. / \/ \ // \> A Linux Solution Provider ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Sat Aug 2 13:04:09 2003 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Sat, 02 Aug 2003 13:04:09 +0200 Subject: Esto va ha ser muy muy duro. In-Reply-To: <6f0f46ffc3.6ffc36f0f4@page.melange.net> References: <6f0f46ffc3.6ffc36f0f4@page.melange.net> Message-ID: <3F2B9AA9.9090102@arrakis.es> Hay una opción en PythonWin para optimizar el acceso a objetos COM, hay que ejecutar MakePy. De esta manera se genera una especie de cache de la interfaz COM bastante más rápida. Está disponible como opción de menú en la aplicación PythonWin. http://www.oreilly.com/catalog/pythonwin32/chapter/ch12.html ammgroup wrote: >Ya se sabe, es duro empezar de nuevo. >Pretendo migrar de Windows + Visual Basic + Access a Todo + Python + >Todo > >Es decir; cualquier sistema operativo, utilizando el más amplio abanico >de tipos de bases de datos. > >Mi primer contacto ha sido seguir los primeros pasos que marca BOA y he >realizado el ejemplo del "Simple Notebook". >Resultado "Genial", me he sentido el amo del universo. Rápido y >eficiente. > >El siguiente paso ha sido el enfrentarme a una base de datos. He >escogido Access ya que la domino en VB. >He probado el ejemplo del capítulo 13 del "Python programming on Win32" >llamado fastinsert.py >En él se evalúan varias formas de hacer un insert masivo de >datos "Access" mediante mx.ODBC, alabando su gran rendimiento frente el >uso directo de DAO. > >El resultado ha sido convincente. Pero ... >He realizado el mismo ejemplo en Visual Basic y aquí pasa algo. >Si tratamos los insert mediante comandos SQL mx supera a VB "Genial", >pero en el apartado DAO mientras con Python he tardado en meter 1000 >registros 9 segundos en VB sólo he tardado 0.5 segundos. >(Por lo que al final el rendimiento mejor es para VB + DAO). >Por otro lado mx requiere licencias si pretendes utilizarlo >comercialmente. > >Estoy mirando de hacer las pruebas con ADO, para ver si mejoran. >Y busco qué otras formas de acceso a Bases de datos puedo utilizar para >mejorar el rendimiento. > >Bajo estas condiciones no puedo sustituir mis sistemas en VB + access >por otro más lento. Necesito que al menos sea igual de eficiente. > >Si alguien tiene programas de test de rendimiento de bases de datos, >pede echarme una mano ?. Con qué otra base de datos puedo mejorar estos >rendimientos. Sobre todo teniendo en cuenta que puede que tenga de ser >instalada en Windows 98 de forma local, es decir; nada de servidores de >datos. > >Mis aplicaciones necesitan un acceso a base de datos muy, pero que muy >rápido y poder trabajar con millones de registros. > >Me cuesta encontrar documentación lo suficientemente "documentada" para >avanzar. Por ejemplo, he intentado modificar el ejemplo fastinsert.py >para utilizar "anydbm", pero soy incapaz de encontrar un esquema >detallado de como tratar esa librería, con las definiciones no tengo >suficiente. > >Resumiendo: SOCORRO !!! > >Gracias. > > > > From goldmilo en bacan.cl Sat Aug 2 12:13:20 2003 From: goldmilo en bacan.cl (F V) Date: Sat, 2 Aug 2003 03:13:20 -0700 (PDT) Subject: Hola, py2exe.. problemas... soy nuevo. Message-ID: <20030802101320.4523D4310@sitemail.everyone.net> Hola estaba leyendo por ahi ke tambien tuviste problemas con el py2exe.... yo recivo "ImportError:No module name py2exe"... ¿solucionaste el problem?.... tengo instalado el phyton y el py2exe obviamente respectivo... Bye. gracias® _____________________________________________________________ El correo gratis para chilenos. Obtenlo en http://www.bacan.cl ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From py en ch3m4.org Sat Aug 2 19:59:53 2003 From: py en ch3m4.org (Chema =?iso-8859-1?q?Cort=E9s?=) Date: Sat, 2 Aug 2003 19:59:53 +0200 Subject: Que no hace In-Reply-To: <1059739430.961.2.camel@canibal> References: <1059739430.961.2.camel@canibal> Message-ID: <200308021959.54475.py@ch3m4.org> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El Viernes, 1 de Agosto de 2003 14:03, Antonio Beamud Montero escribió: > On vie, 2003-08-01 at 11:16, Chema Cortés wrote: > > tiempo real, ni es declarativo, ni es funcional, ... no es compilado ni > > tiene "declaración fuerte" de tipos,...pero esto no puede considerarse > > una limitación para hacer cosas. Existe estrategias que suplen o emulan > > estas características. > > ¿Que significa "declaración fuerte" de tipos? Que necesitas declarar el tipo de dato de las variables antes de usarlas (por ejemplo, tienen que estar definidos los tipos de los argumentos de entrada de las funciones). En python se habla de "tipeado" débil, aunque hay quien no está de acuerdo y empiezan a calificarlo como "tipeado postergado", ya que piensan que la declaración de tipo se hace en el momento justo de asignar un valor a la variable. (Por favor, no me pidáis que lo explique mejor :-P). > > La pregunta habría que enfocarla más a si el lenguaje python puede ser > > considerado como "lenguaje de propósito general" como C/C++ ó Java. Y la > > respuesta sería que no, que técnicamente python debe calificarse como > > ¿A que te refieres con que no puede considerarse un lenguaje de > proposito general como java? Yo creo que más bien es al contrario... Debería haber resaltado más el *técnicamente* de mi frase. Python no es autosuficiente, y necesita apoyarse en otros lenguajes para realizar su cometido (C, Tcl, Java,...). A fecha de hoy, todavía no existe un intérprete hecho enteramente en lenguaje python, aunque hay un proyecto que está trabajando en ello llamado PyPy (http://codespeak.net/pypy/). Y sobre si java es o no un lenguaje de propósito general es algo sobre lo que se puede polemizar mucho. En mi opinión, alrededor de éste lenguaje existen muchos conceptos equivocados (como que lo consideren interpretado y no compilado). Pero, como en todo, depende de quién haga las definiciones. - -- Chema Cortes (ch3m4 en ch3m4.org) | LinuxUser#142755 - SuSE Linux 8.2+apt ZARALINUX http://www.zaralinux.org | "La ignorancia se apodera de quien PYTANDO http://pytando.sf.net | se contenta con lo que sabe" PGPKEY: mailto:pgpkey en ch3m4.org?subject=__PGPKEY__ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.2-rc1-SuSE (GNU/Linux) iD8DBQE/K/waHLTQrABk8H0RAsvtAJ4zj10ipXKALHNycWMf5OHSLcgOgwCgmuu/ FvjNtKDb6zDDgjwgMSQkbAU= =5ONv -----END PGP SIGNATURE----- From bernard_24_ en hotmail.com Mon Aug 4 19:38:47 2003 From: bernard_24_ en hotmail.com (bernard romera) Date: Mon, 04 Aug 2003 17:38:47 +0000 Subject: =?iso-8859-1?q?Buscando_un_m=F3dulo_matem=E1tico?= Message-ID: Hola, es la primera vez que escribo asi que a lo mejor mi pregunta es muy básica: ¿existe algún módulo que pase un conjunto de operaciones en string a su solución en formato float? p. ej: >>>'3+4*7' 31.0 Gracias por adelantado _________________________________________________________________ Descubre el mayor catálogo de coches de la Red en MSN Motor. http://motor.msn.es/researchcentre/ From Andres.Moya en hispalinux.es Mon Aug 4 20:05:00 2003 From: Andres.Moya en hispalinux.es (Andres Moya) Date: 04 Aug 2003 20:05:00 +0200 Subject: Buscando un =?ISO-8859-1?Q?m=F3dulo?= =?ISO-8859-1?Q?_matem=E1tico?= In-Reply-To: References: Message-ID: <1060020299.2626.270.camel@cebollino.micasa.es> El lun, 04 de 08 de 2003 a las 19:38, bernard romera escribió: > Hola, es la primera vez que escribo asi que a lo mejor mi pregunta es muy > básica: > ¿existe algún módulo que pase un conjunto de operaciones en string a su > solución en formato float? > p. ej: >>>'3+4*7' > 31.0 Muy sencillito: no hace falta ningún módulo, es suficiente con la función incorporada "eval": >>> print eval('3+4*7') 31 Si quieres forzar que el resultado sea float, pues usa la función "float": >>> print float(eval('3+4*7')) 31.0 -- Andres Moya Contra la guerra global permanente. Foro Social Mundial - Otro mundo es posible. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From aerd en retemail.es Mon Aug 4 20:36:27 2003 From: aerd en retemail.es (Ernesto Revilla) Date: Mon, 4 Aug 2003 20:36:27 +0200 Subject: Buscando un módulo matemático References: Message-ID: <002701c35ab7$52652060$0100a8c0@servidor> Supongo lo más fácil es usar eval, pero hay que tener cuidad si lo que quieres es usarlo dentro de un producto final porque el usuario podría incluso borrar archivos. Erny ----- Original Message ----- From: "bernard romera" To: Sent: Monday, August 04, 2003 7:38 PM Subject: [Python-es] Buscando un módulo matemático > Hola, es la primera vez que escribo asi que a lo mejor mi pregunta es muy > básica: > ¿existe algún módulo que pase un conjunto de operaciones en string a su > solución en formato float? > p. ej: >>>'3+4*7' > 31.0 > > Gracias por adelantado > > _________________________________________________________________ > Descubre el mayor catálogo de coches de la Red en MSN Motor. > http://motor.msn.es/researchcentre/ > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From visuallinux en hotmail.com Mon Aug 4 23:53:59 2003 From: visuallinux en hotmail.com (fernando miguel villarroel noriel) Date: Mon, 04 Aug 2003 21:53:59 +0000 Subject: Interfaz Postgresql Message-ID: Hola amigos, sucede que baje unos ejemplos para interactuar con postgres desde Python, el programa comienza asi: import pg otras sentencias Bueno al correr este programa me dice que no existe el nombre de modulo pg. Alguien me puede ayudar en este tema, debo cargar algo extra, bueno pensando que era lo que me faltaba instale el paquete python-pgsql (apt-get install python-pgsql), pero tampoco funciono. Espero vuestra ayuda. Fernando Villarroel N. _________________________________________________________________ Charla con tus amigos en línea mediante MSN Messenger: http://messenger.yupimsn.com/ From manu en sindominio.net Tue Aug 5 00:44:06 2003 From: manu en sindominio.net (Manu) Date: 05 Aug 2003 00:44:06 +0200 Subject: Interfaz Postgresql In-Reply-To: References: Message-ID: <1060037020.688.11.camel@margie> Buenass.. Prueba con psycopg: apt-get install python-psycopg Y para probarlo, prueba desde python con: import psycopg Saludos, manu El lun, 04-08-2003 a las 23:53, fernando miguel villarroel noriel escribió: > Hola amigos, sucede que baje unos ejemplos para interactuar con postgres > desde Python, el programa comienza asi: > > import pg > otras sentencias > > > Bueno al correr este programa me dice que no existe el nombre de modulo > pg. > > Alguien me puede ayudar en este tema, debo cargar algo extra, bueno pensando > que era lo que me faltaba instale el paquete python-pgsql (apt-get install > python-pgsql), pero tampoco funciono. Espero vuestra ayuda. > > Fernando Villarroel N. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From o.merchan en terra.es Tue Aug 5 12:40:13 2003 From: o.merchan en terra.es (Oscar Merchan) Date: Tue, 5 Aug 2003 12:40:13 +0200 Subject: Bases de datos Message-ID: <1435326639.20030805124013@terra.es> Hello a Todos/as, Siguiendo por la linea de las bases de datos, tan solo queria preguntaros, cual seria mejor otulizar entre todas ellas, que me sirviera tanto pa win como pa linux. ya que tengo que hacer un servidor, que me gestione cierta informacion para tenerla controlada, y a la vez quiero hacer un cliente que muestre dicha informacion, la cual no se podra modificar, ya que solo quiero ver lo que va haciendo el servidor ( o sea tenerlo controladito ). Por ello no se que base de datos utilizar. Muchisimas gracias de antemano por haceros perder un poquito de tiempo. Saluditos, Óscar Merchan. P.D .- Si a la vez me decis ma o menos ande puedo pillar algo de documentacino pa poderlo manejar lo agradeceria muchisimo ;-) -- Best regards, Oscar mailto:o.merchan en terra.es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jcanto en hispasec.com Tue Aug 5 14:04:14 2003 From: jcanto en hispasec.com (Julio Canto) Date: Tue, 5 Aug 2003 13:04:14 +0100 Subject: Bases de datos References: <1435326639.20030805124013@terra.es> Message-ID: <011401c35b49$b0bad3c0$050010ac@vega700> Hombre, yo estoy utilizando MySQL, y me va de maravilla tanto en Windows como Linux, y el paquete de interfaz para el MySQL tambien va muy bien. En realidad tambien es una cuestion de volumen de informacion que vayas a utilizar. Si es relativamente pequeña, no me molestaria en utilizar la BBDD. Referencias: MySQL (el SGBD en si): http://www.mysql.com/ MySQLdb (libreria python): http://docs.meg.nu/local-docs/py-MySQLdb/MySQLdb.html Un saludo o 2 JC > Siguiendo por la linea de las bases de datos, tan solo queria > preguntaros, cual seria mejor otulizar entre todas ellas, que me > sirviera tanto pa win como pa linux. > ya que tengo que hacer un servidor, que me gestione cierta informacion > para tenerla controlada, y a la vez quiero hacer un cliente que > muestre dicha informacion, la cual no se podra modificar, ya que solo > quiero ver lo que va haciendo el servidor ( o sea tenerlo controladito > ). > Por ello no se que base de datos utilizar. > > Muchisimas gracias de antemano por haceros perder un poquito de > tiempo. > > Saluditos, Óscar Merchan. > > P.D .- Si a la vez me decis ma o menos ande puedo pillar algo de > documentacino pa poderlo manejar lo agradeceria muchisimo ;-) ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From Andres.Moya en hispalinux.es Tue Aug 5 13:51:31 2003 From: Andres.Moya en hispalinux.es (Andres Moya) Date: 05 Aug 2003 13:51:31 +0200 Subject: Bases de datos In-Reply-To: <011401c35b49$b0bad3c0$050010ac@vega700> References: <1435326639.20030805124013@terra.es> <011401c35b49$b0bad3c0$050010ac@vega700> Message-ID: <1060084291.2626.88.camel@cebollino.micasa.es> El mar, 05 de 08 de 2003 a las 14:04, Julio Canto escribió: > Hombre, yo estoy utilizando MySQL, y me va de maravilla tanto en Windows > como Linux, y el paquete de interfaz para el MySQL tambien va muy bien. En > realidad tambien es una cuestion de volumen de informacion que vayas a > utilizar. Si es relativamente pequeña, no me molestaria en utilizar la BBDD. Sí, MySQL es una buena opción, es de las más usadas (PostgreSQL también, pero no existe en Windows, que yo sepa). Echale un vistazo también a esto: http://sqlobject.org Es una librería para acceder a la base de datos de una forma muy sencilla y potente. Según para lo que quieras hacer, te puede ser muy útil. -- Andres Moya Contra la guerra global permanente. Foro Social Mundial - Otro mundo es posible. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From qualopec en lycos.es Tue Aug 5 14:02:39 2003 From: qualopec en lycos.es (Javi) Date: Tue, 05 Aug 2003 14:02:39 +0200 Subject: Bases de datos In-Reply-To: <1060084291.2626.88.camel@cebollino.micasa.es> References: <1435326639.20030805124013@terra.es> <011401c35b49$b0bad3c0$050010ac@vega700> <1060084291.2626.88.camel@cebollino.micasa.es> Message-ID: <3F2F9CDF.1010206@lycos.es> Y sabeis algo para acceder a ellas mediante odbc que no sea mx.odbc o las extensiones win32 de python? Andres Moya wrote: >El mar, 05 de 08 de 2003 a las 14:04, Julio Canto escribió: > > >>Hombre, yo estoy utilizando MySQL, y me va de maravilla tanto en Windows >>como Linux, y el paquete de interfaz para el MySQL tambien va muy bien. En >>realidad tambien es una cuestion de volumen de informacion que vayas a >>utilizar. Si es relativamente pequeña, no me molestaria en utilizar la BBDD. >> >> > >Sí, MySQL es una buena opción, es de las más usadas (PostgreSQL también, >pero no existe en Windows, que yo sepa). > >Echale un vistazo también a esto: > >http://sqlobject.org > >Es una librería para acceder a la base de datos de una forma muy >sencilla y potente. Según para lo que quieras hacer, te puede ser muy >útil. > > > >------------------------------------------------------------------------ > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es > > ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Tue Aug 5 14:14:50 2003 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: 05 Aug 2003 14:14:50 +0200 Subject: Bases de datos In-Reply-To: <3F2F9CDF.1010206@lycos.es> References: <1435326639.20030805124013@terra.es> <011401c35b49$b0bad3c0$050010ac@vega700><3F2F9CDF.1010206@lycos.es> Message-ID: <1060085689.20459.0.camel@tequila.proteus> ¿Qué es lo que buscas exactamente? ¿por qué rechazas estas opciones? El mar, 05 de 08 de 2003 a las 14:02, Javi escribió: > Y sabeis algo para acceder a ellas mediante odbc que no sea mx.odbc o > las extensiones win32 de python? > > > Andres Moya wrote: > > >El mar, 05 de 08 de 2003 a las 14:04, Julio Canto escribió: > > > > > >>Hombre, yo estoy utilizando MySQL, y me va de maravilla tanto en Windows > >>como Linux, y el paquete de interfaz para el MySQL tambien va muy bien. En > >>realidad tambien es una cuestion de volumen de informacion que vayas a > >>utilizar. Si es relativamente pequeña, no me molestaria en utilizar la BBDD. > >> > >> > > > >Sí, MySQL es una buena opción, es de las más usadas (PostgreSQL también, > >pero no existe en Windows, que yo sepa). > > > >Echale un vistazo también a esto: > > > >http://sqlobject.org > > > >Es una librería para acceder a la base de datos de una forma muy > >sencilla y potente. Según para lo que quieras hacer, te puede ser muy > >útil. > > > > > > > >------------------------------------------------------------------------ > > > >_______________________________________________ > >Python-es mailing list > >Python-es en aditel.org > >http://listas.aditel.org/listinfo/python-es > > > > > > > > ______________________________________________________________________ > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Marcos Sánchez Provencio From rabs en dimension-virtual.com Tue Aug 5 16:51:05 2003 From: rabs en dimension-virtual.com (=?iso-8859-1?Q?Ra=FAl?= Alexis Betancort Santana) Date: Tue, 5 Aug 2003 15:51:05 +0100 Subject: Bases de datos In-Reply-To: <1060084291.2626.88.camel@cebollino.micasa.es> References: <1435326639.20030805124013@terra.es> <011401c35b49$b0bad3c0$050010ac@vega700> <1060084291.2626.88.camel@cebollino.micasa.es> Message-ID: <20030805145105.GA608@dimension-virtual.com> El Tue, Aug 05, 2003 at 01:51:31PM +0200, Andres Moya escribió: > Sí, MySQL es una buena opción, es de las más usadas (PostgreSQL también, > pero no existe en Windows, que yo sepa). Si hay versión para windows, pero que yo sepa solo para NT como servicio Saludos -- _ _ // Raúl A. Betancort Santana /> A Dream is an answer to __ \\ // // question that we don't know (oo) \\ // Dimensión Virtual S.L. // how to ask. / \/ \ // \> A Linux Solution Provider ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From aerd en retemail.es Tue Aug 5 17:35:20 2003 From: aerd en retemail.es (Ernesto Revilla) Date: Tue, 5 Aug 2003 17:35:20 +0200 Subject: Bases de datos References: <1435326639.20030805124013@terra.es> <011401c35b49$b0bad3c0$050010ac@vega700> <1060084291.2626.88.camel@cebollino.micasa.es> Message-ID: <006d01c35b67$30447de0$0100a8c0@servidor> Hola, > > Hombre, yo estoy utilizando MySQL, y me va de maravilla tanto en Windows > > como Linux, y el paquete de interfaz para el MySQL tambien va muy bien. En > > realidad tambien es una cuestion de volumen de informacion que vayas a > > utilizar. Si es relativamente pequeña, no me molestaria en utilizar la BBDD. > > Sí, MySQL es una buena opción, es de las más usadas (PostgreSQL también, > pero no existe en Windows, que yo sepa). En principio postgresql funciona también bajo Windows aunque un poco más lento. El proyecto cygwin (http://www.cygwin.com ) define una librería (cygwin1.dll) que traduce llamadas (POSIX) al núcleo a las correspondientes rutinas del núcleo de Windows, y no todas las llamadas se traducen limpiamente. Mediante el instalador puede instalarse directamente el paquete postgresql ya compilado. Parece que ya no hay que descargar separadamente el paquete cygipc, que simula la intercomunicación de procesos estándar de Unix bajo Windows, sólo marcalo como parte de cygwin. Una vez instalado, encontrarás en el subdirectorio /usr/doc/postgresql- la documentación necesaria. En todo caso, parece que mysql es bastante más fácil de instalar. No recuerdo, pero es posible que postgresql también funcione bajo Windows 98. Si programas bajo Windows, necesitas la librería de acceso de Python a Postgresql y te recomiendo PyPgSQL (http://pypgsql.sf.net ) que siempre dispone de binarios para Windows. > > Echale un vistazo también a esto: > > http://sqlobject.org > > Es una librería para acceder a la base de datos de una forma muy > sencilla y potente. Según para lo que quieras hacer, te puede ser muy > útil. > En concreto es un Object Relational Mapper, es decir, una capa que convierte filas de tablas a objetos y viceversa. Hay también otra capa ORM en http://modeling.sf.net , y en MiddleKit de Webware hay otra (http://webware.sourceforge.net/Webware-0.8.1/MiddleKit/Docs/index.html), y supongo que existirán unas cuantas más. Hay unas cuantas bases de datos más, pero es importante que especifiques para qué lo quieres. Si usas DB-API 2.0 es relativamente fácil cambiar de una base de datos a otra, pero eso depende básicamente de tus sentencias SQL (cómo de estándar son) y si usas triggers (MySQL no tiene triggers). Saludos, Erny ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From YourpadreMB en netscape.net Tue Aug 5 17:32:25 2003 From: YourpadreMB en netscape.net (Miguel B) Date: Tue, 05 Aug 2003 11:32:25 -0400 Subject: Resumen de Python-es, Vol 255, Env =?iso-8859-1?q?=EDo_28?= Message-ID: <623F1958.1000B799.441BE8AE@netscape.net> >Message: 1 >Date: Thu, 24 Jul 2003 11:00:46 +0200 >From: Chema Cortés >Subject: [Python-es] Re: MkSQL error en connect >To: python-es en aditel.org >Message-ID: >Content-Type: text/plain; charset=ISO-8859-1; format=flowed > >Miguel B escribió: >> Este es mi primer post, asi que les mando un saludos a todos >> >> Ahora si, soy novato en python (por eso fui directo sobre wxpython + Boa). Quiese probar el MkSQL (un paquete que usa el MetaKit) pero al correr el ejemplo me marca este error: >> File "D:\PYTHON22\lib\site-packages\Pythonwin\pywin\framework\scriptutils.py", line 310, in RunScript >> exec codeObject in __main__.__dict__ >> File "D:\MkSQL-0.b.1\MkSQL\test\testdbi.py", line 145, in ? >> main() >> File "D:\MkSQL-0.b.1\MkSQL\test\testdbi.py", line 10, in main >> conn1 = connect('gadflytest.mk4') >> NameError: global name 'connect' is not defined > >Por lo que veo, estás ejecutanto la prueba desde el PythonWin. ¿Has >probado a ejecutarla desde fuera? > >> la funcion connect si esta definida en MkSQl, pero en el ejemplo las primeras lineas estan asi: >> #! /usr/bin/env python >> from MkSQL.MkSQLDBI import * >> import os >> >> # to see RI make a difference, set "lambda pd: pd > 0" on table likes column perday. >> # now the record ('frankies', 'snafu', 0) will fail to add and queries >> # 1, 3, 4 and 5 will be different >> def main(): >> conn1 = connect('gadflytest.mk4') >> rs1 = runqueries(conn1) >> if os.path.exists('testdbi.mk4'): >> os.remove('testdbi.mk4') >> conn2 = connect('testdbi.mk4') >> create(conn2) # creates with RI >> conn2.commit() >> conn2.close() >> >> se debe de ejecutar la funcion connect asi o se tiene que crear primero un objeto MkSQL?? > >No hace falta crear ningún objeto. El "from..import" introduce todas las >definiciones hechas en MkSQL/MkSQLDBI.py como si hubieran sido definidas >por tí. > >He probado el testdbi.py, y a mí me funciona correctamente, incluso en >Pythonwin. ¿No estarás usando una versión de python antigüa? ¿Has >probado a hacer un dir() a ver si tienes definida realmente la función >connect? (Con dir() sacas un listado de todos los nombres conocidos por >el intérprete (variables, objetos, módulos, clases,...). Puedes >"navegar" como si fueran directorios de ficheros. Por ejemplo, con >dir("os") puedes ver los nombres importados de éste módulo). > >Puedes ir paso a paso en la ejecución utilizando el debugger (se lo >indicas al ejecutar el script). Comprueba qué hace, y observa qué pasa >cuando define el connect. > >Ya nos contarás. > Perdon por la tardanza dure varios dias sin checar mi correo. Chema al dia siguiente de cuando escribi mi problema, llegue al trabajo volvi a intentar a correr el ejemplo CORRIO SIN PROBLEMAS, porque o como , no se pero jalo (En linux y Windows). Lo que si es que ya cuando por fin jalo y segui leyendo la documntacion del metakit me di cuenta que no acepta varios usuarios :( asi que ahora voy a usar mejor Postgres Gracias por la ayuda te todos modos __________________________________________________________________ McAfee VirusScan Online from the Netscape Network. Comprehensive protection for your entire computer. Get your free trial today! http://channels.netscape.com/ns/computing/mcafee/index.jsp?promo=393397 Get AOL Instant Messenger 5.1 free of charge. Download Now! http://aim.aol.com/aimnew/Aim/register.adp?promo=380455 From qualopec en lycos.es Wed Aug 6 07:25:35 2003 From: qualopec en lycos.es (Javi) Date: Wed, 06 Aug 2003 07:25:35 +0200 Subject: Bases de datos In-Reply-To: <1060085689.20459.0.camel@tequila.proteus> References: <1435326639.20030805124013@terra.es> <011401c35b49$b0bad3c0$050010ac@vega700><3F2F9CDF.1010206@lycos.es> <1060085689.20459.0.camel@tequila.proteus> Message-ID: <3F30914F.4030402@lycos.es> Marcos Sánchez Provencio wrote: No las rechazo, simplemente queria saber si habia alguna otra que conocierais. De todas formas no me he fijado mucho pero la de mx tiene licencia comercial. Creo qe optare por las de las extensiones win32 de python, aunque con mx tb puedo acceder en linux/etc. Alguna sugerencia? saludos >¿Qué es lo que buscas exactamente? ¿por qué rechazas estas opciones? > >El mar, 05 de 08 de 2003 a las 14:02, Javi escribió: > > >>Y sabeis algo para acceder a ellas mediante odbc que no sea mx.odbc o >>las extensiones win32 de python? >> >> >>Andres Moya wrote: >> >> >> >>>El mar, 05 de 08 de 2003 a las 14:04, Julio Canto escribió: >>> >>> >>> >>> >>>>Hombre, yo estoy utilizando MySQL, y me va de maravilla tanto en Windows >>>>como Linux, y el paquete de interfaz para el MySQL tambien va muy bien. En >>>>realidad tambien es una cuestion de volumen de informacion que vayas a >>>>utilizar. Si es relativamente pequeña, no me molestaria en utilizar la BBDD. >>>> >>>> >>>> >>>> >>>Sí, MySQL es una buena opción, es de las más usadas (PostgreSQL también, >>>pero no existe en Windows, que yo sepa). >>> >>>Echale un vistazo también a esto: >>> >>>http://sqlobject.org >>> >>>Es una librería para acceder a la base de datos de una forma muy >>>sencilla y potente. Según para lo que quieras hacer, te puede ser muy >>>útil. >>> >>> >>> >>>------------------------------------------------------------------------ >>> >>>_______________________________________________ >>>Python-es mailing list >>>Python-es en aditel.org >>>http://listas.aditel.org/listinfo/python-es >>> >>> >>> >>> >> >>______________________________________________________________________ >> >>_______________________________________________ >>Python-es mailing list >>Python-es en aditel.org >>http://listas.aditel.org/listinfo/python-es >> >> From rosendo en dbora.com Wed Aug 6 10:21:38 2003 From: rosendo en dbora.com (rosendo) Date: Wed, 06 Aug 2003 10:21:38 +0200 Subject: Bases de datos Message-ID: <5.2.1.1.2.20030806093421.02cbc310@192.168.103.215> Oscar, no quiero entrar en polemicas que no llevan a nada, pero aunque mysql esté muy extendida y te puede servir, desde mi punto de vista hay opciones mejores. Por ejemplo : http://www.sapdb.org/ Es una base de datos completa, es decir con integridad referencial, vistas, triggers, etc..... que la distancia o simplemente que es otro tipo de producto que mysql. Tiene driver para python etc...... Respecto al tema de odbc, siempre es una opción, aunque el hecho de que sea comercial es cierto que retrae un poco. Postgres no cumple, desde mi punto de vista la condición de que corre en windows, ya que corre bajo un 'emulador'(lo digo con precaución, ya que no lo he usado). Bueno, desde luego yo uso oracle, pero ese es otro tema. Un saludo. Rosendo. From jcanto en hispasec.com Wed Aug 6 10:53:05 2003 From: jcanto en hispasec.com (Julio Canto) Date: Wed, 6 Aug 2003 10:53:05 +0200 Subject: Sobre unicode (utf-7) References: <5.2.1.1.2.20030806093421.02cbc310@192.168.103.215> Message-ID: <009601c35bf8$268eb6d0$2340870a@anthispa2e67dp> Muy buenas. Me he topado con que tengo que trabajar con cadenas en unicode talque como esta: ?utf-7?B?U3VjY2Vzc2Z1bCB1?= He buscado en la documentacion y no se como enfrentarme a la decodificacion de este tipo de cadenas. ¿Alguien tiene alguna idea del tema? Gracias por adelantado, JC From rapto en arrakis.es Wed Aug 6 14:07:15 2003 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: 06 Aug 2003 14:07:15 +0200 Subject: Sobre unicode (utf-7) In-Reply-To: <009601c35bf8$268eb6d0$2340870a@anthispa2e67dp> References: <5.2.1.1.2.20030806093421.02cbc310@192.168.103.215> <009601c35bf8$268eb6d0$2340870a@anthispa2e67dp> Message-ID: <1060171635.4036.0.camel@cynar> Parece que unicodes aparte, está codificado con mime o uuencode. Ensayo y error, me parece a mí... El mi? 06-08-2003 a las 10:53, Julio Canto escribió: > Muy buenas. > Me he topado con que tengo que trabajar con cadenas en unicode talque como > esta: > > ?utf-7?B?U3VjY2Vzc2Z1bCB1?= > > He buscado en la documentacion y no se como enfrentarme a la decodificacion > de este tipo de cadenas. > ¿Alguien tiene alguna idea del tema? > Gracias por adelantado, > JC > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From jcanto en hispasec.com Wed Aug 6 12:11:31 2003 From: jcanto en hispasec.com (Julio Canto) Date: Wed, 6 Aug 2003 12:11:31 +0200 Subject: Sobre unicode (utf-7) References: <5.2.1.1.2.20030806093421.02cbc310@192.168.103.215> <009601c35bf8$268eb6d0$2340870a@anthispa2e67dp> <1060171635.4036.0.camel@cynar> Message-ID: <00ee01c35c03$1bdc5e30$2340870a@anthispa2e67dp> Si, al final he descubierto que viene codificado en base64, y luego en utf-7 :? En fin, cosas de ciertas casas antivirus ;) Un saludo, JC > Parece que unicodes aparte, está codificado con mime o uuencode. Ensayo > y error, me parece a mí... From rvr en infoastro.com Wed Aug 6 10:29:22 2003 From: rvr en infoastro.com (Victor R. Ruiz) Date: Wed, 6 Aug 2003 10:29:22 +0200 Subject: Bases de datos In-Reply-To: <1435326639.20030805124013@terra.es> References: <1435326639.20030805124013@terra.es> Message-ID: <200308061029.22934.rvr@infoastro.com> Hola: El Martes, 5 de Agosto de 2003 12:40, Oscar Merchan tecleó: > Siguiendo por la linea de las bases de datos, tan solo queria > preguntaros, cual seria mejor otulizar entre todas ellas, que me > sirviera tanto pa win como pa linux. Tienes Firebird, que es un fork de Interbase, que ha vuelto a ser soft cerrado). Si has programado alguna vez en Delphi o C++ Builder te sonará, porque suelen venir con el "Interbase Local Server". Es multiplataforma, es ANSI-SQL 92 y es resumen *muy* completa. Hay muchas herramientas disponibles. Lo malo es que si tu aplicación es web y vas buscando alojamiento barato, no encontrarás muchos sitios. http://firebird.sourceforge.net/ Saludetes, -- Víctor R. Ruiz | - Todos estos momentos se perderán http://infoastro.com/rvr | como lágrimas en la lluvia ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From visuallinux en hotmail.com Wed Aug 6 18:47:28 2003 From: visuallinux en hotmail.com (fernando miguel villarroel noriel) Date: Wed, 06 Aug 2003 16:47:28 +0000 Subject: Interfaz Postgresql Message-ID: Hola amigos, alguien me puede ayudar, necesito saber como interactuar con Postgres, no logro conectarme. Debo instalar algo adicional en Postgres, de hecho instale el paquete python-pgsql, pero no funciono. El ejemplo programa se me cae en la primera linea que dice: import pg Espero vuestra ayuda gracias. Fernando Villarroel >From: "fernando miguel villarroel noriel" >Reply-To: La lista de python en castellano >To: python-es en aditel.org >Subject: [Python-es] Interfaz Postgresql >Date: Mon, 04 Aug 2003 21:53:59 +0000 > > Hola amigos, sucede que baje unos ejemplos para interactuar con postgres >desde Python, el programa comienza asi: > >import pg >otras sentencias > > > Bueno al correr este programa me dice que no existe el nombre de modulo >pg. > >Alguien me puede ayudar en este tema, debo cargar algo extra, bueno >pensando que era lo que me faltaba instale el paquete python-pgsql (apt-get >install python-pgsql), pero tampoco funciono. Espero vuestra ayuda. > >Fernando Villarroel N. > >_________________________________________________________________ >Charla con tus amigos en línea mediante MSN Messenger: >http://messenger.yupimsn.com/ > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es _________________________________________________________________ Charla con tus amigos en línea mediante MSN Messenger: http://messenger.yupimsn.com/ From rapto en arrakis.es Thu Aug 7 11:47:20 2003 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: 07 Aug 2003 11:47:20 +0200 Subject: Interfaz Postgresql In-Reply-To: References: Message-ID: <1060249640.495.1.camel@cynar> ¿Te funciona esto? cynar:~# python Python 2.1.3 (#1, Sep 7 2002, 15:29:56) [GCC 2.95.4 20011002 (Debian prerelease)] on linux2 Type "copyright", "credits" or "license" for more information. >>> from pyPgSQL import PgSQL >>> PgSQL >>> El mi? 06-08-2003 a las 18:47, fernando miguel villarroel noriel escribió: > Hola amigos, alguien me puede ayudar, necesito saber como interactuar con > Postgres, no logro conectarme. Debo instalar algo adicional en Postgres, de > hecho instale el paquete python-pgsql, pero no funciono. El ejemplo > programa se me cae en la primera linea que dice: > > import pg > > Espero vuestra ayuda gracias. > > Fernando Villarroel > >From: "fernando miguel villarroel noriel" > >Reply-To: La lista de python en castellano > >To: python-es en aditel.org > >Subject: [Python-es] Interfaz Postgresql > >Date: Mon, 04 Aug 2003 21:53:59 +0000 > > > > Hola amigos, sucede que baje unos ejemplos para interactuar con postgres > >desde Python, el programa comienza asi: > > > >import pg > >otras sentencias > > > > > > Bueno al correr este programa me dice que no existe el nombre de modulo > >pg. > > > >Alguien me puede ayudar en este tema, debo cargar algo extra, bueno > >pensando que era lo que me faltaba instale el paquete python-pgsql (apt-get > >install python-pgsql), pero tampoco funciono. Espero vuestra ayuda. > > > >Fernando Villarroel N. > > > >_________________________________________________________________ > >Charla con tus amigos en línea mediante MSN Messenger: > >http://messenger.yupimsn.com/ > > > >_______________________________________________ > >Python-es mailing list > >Python-es en aditel.org > >http://listas.aditel.org/listinfo/python-es > > _________________________________________________________________ > Charla con tus amigos en línea mediante MSN Messenger: > http://messenger.yupimsn.com/ > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From bernard_24_ en hotmail.com Thu Aug 7 13:02:08 2003 From: bernard_24_ en hotmail.com (bernard romera) Date: Thu, 07 Aug 2003 11:02:08 +0000 Subject: Funciones Message-ID: Hola, soy yo otra vez, me gustaria saber si existe algun sitio donde se explique para qué sirven las funciones que vienen en python 'de serie' -solo se las mas básicas que vienen en los manuales-, en español. Gracias. _________________________________________________________________ Melodías, logos y mil servicios para tu teléfono en MSN Móviles. http://www.msn.es/MSNMovil/ From rapto en arrakis.es Thu Aug 7 15:55:05 2003 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Thu, 07 Aug 2003 15:55:05 +0200 Subject: Funciones In-Reply-To: References: Message-ID: <3F325A39.9040409@arrakis.es> bernard romera wrote: > Hola, soy yo otra vez, me gustaria saber si existe algun sitio donde se > explique para qué sirven las funciones que vienen en python 'de serie' > -solo se las mas básicas que vienen en los manuales-, en español. > > Gracias. > http://pyspanishdoc.sourceforge.net/lib/built-in-funcs.html Funciones internas El intérprete de Python cuenta con funciones internas que siempre se hallan disponibles. Se muestran a continuación, en orden alfabético. From dvilla en gmx.net Thu Aug 7 17:27:57 2003 From: dvilla en gmx.net (dvilla en gmx.net) Date: Thu, 7 Aug 2003 17:27:57 +0200 Subject: Funciones In-Reply-To: References: Message-ID: <20030807172757.2d39bc87.dvilla@gmx.net> Hola: En www.python.org tienes toda la documentación que puedas necesitar. Si quieres algo para empezar y en español empieza por: http://es.tldp.org/Tutoriales/Python/Tutorial-Python/ Saludos, El Thu, 07 Aug 2003 11:02:08 +0000 "bernard romera" escribió: > Hola, soy yo otra vez, me gustaria saber si existe algun sitio donde se > explique para qué sirven las funciones que vienen en python 'de serie' -solo > se las mas básicas que vienen en los manuales-, en español. > > Gracias. > > _________________________________________________________________ > Melodías, logos y mil servicios para tu teléfono en MSN Móviles. > http://www.msn.es/MSNMovil/ > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From javierm en aditel.org Sat Aug 9 12:38:18 2003 From: javierm en aditel.org (=?ISO-8859-1?Q?Javier_Mu=F1oz?=) Date: Sat, 09 Aug 2003 12:38:18 +0200 Subject: Beta 1 Web de HispaZope Message-ID: <3F34CF1A.1000306@aditel.org> Buenas, El verano ha frenado bastante su desarrollo, pero es hora de validar lo que hay hecho. Se ha partido de la siguiente estructura extraida de la encuesta que se realizó * Noticias del mundo Zope * Eventos relacionados con Zope * Documentación o Nueva o Enlaces a otros documentos en español o Preguntas frecuentes o Recetas en español * Software creado por la comunidad hispana * Foros (Listas de correo, news, chat,...) * Listado de miembros / colaboradores (Nombre, correo y ciudad) * Enlaces a lugares que utilizan Zope Todavía no está todo hecho. En el TODO de secciones por completar se encuentra: * Eventos relacionados con Zope * Software creado por la comunidad hispaña * Foros * Correo y ciudad de los miembros (esta info se la podría poner cada uno en su página personal) Como veis, el sitio está pensado sólo para Zope, pero se podría replicar en un momento para Python. El problema sería mantener el desarrollo sincronizado. En mi opinión (mia sólo) se podría "finalizar" el sitio para Zope, usarlo de testing y entonces hacer la copia (cambiando el tema, si se considera oportuno). Ya se puede empezar a poner contenido. Para eso, en primer lugar hay que crearse un usuario en el sitio. - ¿Cómo añado contenidos al sitios? Muy sencillo. Sólo tienes que seguir los siguientes pasos: 1.- Añades en tu carpeta alguno de los objetos siguientes: - Documentación - Noticias - Receta - Referencia a documentación externa - Referencia a sitio Zope Los nombres son autoexplicativos, no? Puedes estructurar los objetos en tu home utilizando carpetas y documentos (páginas web). 2.- En la vista "Estado" del objeto creado, cambiar el estado a "Enviar" y guardar los cambios. Esto hará que se avise a los editores de que se desea añadir nuevo contenido para las secciones generales. Cuando los editores le den su visto bueno el objeto será publicado y aparecerá en las secciones principales del portal visibles para todo el mundo. Mientras sólo podrá ser visto por el creador. ---- Esto plantea una pregunta: ¿quién va a ser editor? Por ahora estamos los managers del sitio porque viene así por defecto. Hablemoslo y cuando se decida se les da los permisos en un plix. Otros TODO: - Clasificar los contenidos por temas. Para Zope podrían ser (ZPT, DTML, Acceso a BBDD, ZODB, etc.) Habría que definir una lista. - Mejorar los textos de las páginas. Se admiten sugerencias. - Cambiar el logo a HispaZope - (Pon aquí tu TODO) Pues eso. Felices vacaciones a todos. Saludos calurosos!!! From javierm en aditel.org Sat Aug 9 12:43:48 2003 From: javierm en aditel.org (=?ISO-8859-1?Q?Javier_Mu=F1oz?=) Date: Sat, 09 Aug 2003 12:43:48 +0200 Subject: Beta 1 Web de HispaZope In-Reply-To: <3F34CF1A.1000306@aditel.org> References: <3F34CF1A.1000306@aditel.org> Message-ID: <3F34D064.1060405@aditel.org> Os habreis dado cuenta de que faltaba un detallito: la URL :D http://zope-es.aditel.org/sites/HispaZope/plone/ Ricardo Borillo ya la mandó, pero bueno, debería haber aparecido en mi mail :) Disculpad el emparre. Saludos again. From visuallinux en hotmail.com Sat Aug 9 23:06:10 2003 From: visuallinux en hotmail.com (fernando miguel villarroel noriel) Date: Sat, 09 Aug 2003 21:06:10 +0000 Subject: Fwd: Re: Interfaz Postgresql Message-ID: Hola Marcos, te cuento que solucione el problema, que era que no tenia actualizado el paquete python-pygresql, hecho esto corrio sin problemas. Te queria molestar y saber si tienes algunos demos o manual sobre el uso de pygres o pgsql, para interactuar con postgres; es decir funciones para mostrar registros en pantalla de manera ordenada o como un browser, o funciones para determinar la cantidad de registros de una consulta y luego recorrerla con un ciclo for, al go parecido a pg_filerow() de PHP. Bueno gracias y espero vuestro comentarios. Saludos Fernando Villarroel N. >From: Marcos Sánchez Provencio >To: fernando miguel villarroel noriel >Subject: Re: Fwd: Re: [Python-es] Interfaz Postgresql >Date: Fri, 08 Aug 2003 12:51:51 +0200 > >¿Qué quiere decir que se cae? ¿Casca con un coredump, se acaba el programa >sin más? Faltan pistas. Intenta ejecutar el programa paso a paso o fórralo >de sentencias print para ver hasta dónde llega. > >Chao > > >fernando miguel villarroel noriel wrote: >>> >>> from pyPgSQL import PgSQL >>> >>> PgSQL >> >> >>Si en la consola funciona, pero en el programa no. >> >>ejemplo.py >> >>$python ejemplo.py >> >>al hacer eso se cae, quizas tiene que ver con permisos o no. Ojala me >>ayudes >> >>Gracias >> >>>From: Marcos Sánchez Provencio >>>Reply-To: La lista de python en castellano >>>To: La lista de python en castellano >>>Subject: Re: [Python-es] Interfaz Postgresql >>>Date: 07 Aug 2003 11:47:20 +0200 >>> >>>¿Te funciona esto? >>> >>>cynar:~# python >>>Python 2.1.3 (#1, Sep 7 2002, 15:29:56) >>>[GCC 2.95.4 20011002 (Debian prerelease)] on linux2 >>>Type "copyright", "credits" or "license" for more information. >>> >>> from pyPgSQL import PgSQL >>> >>> PgSQL >>>>>'/usr/lib/python2.1/site-packages/pyPgSQL/PgSQL.pyc'> >>> >>> >>> >>> >>> >>>El mi? 06-08-2003 a las 18:47, fernando miguel villarroel noriel >>>escribió: >>> > Hola amigos, alguien me puede ayudar, necesito saber como interactuar >>>con >>> > Postgres, no logro conectarme. Debo instalar algo adicional en >>>Postgres, de >>> > hecho instale el paquete python-pgsql, pero no funciono. El ejemplo >>> > programa se me cae en la primera linea que dice: >>> > >>> > import pg >>> > >>> > Espero vuestra ayuda gracias. >>> > >>> > Fernando Villarroel >>> > >From: "fernando miguel villarroel noriel" >>> > >Reply-To: La lista de python en castellano >>> > >To: python-es en aditel.org >>> > >Subject: [Python-es] Interfaz Postgresql >>> > >Date: Mon, 04 Aug 2003 21:53:59 +0000 >>> > > >>> > > Hola amigos, sucede que baje unos ejemplos para interactuar con >>>postgres >>> > >desde Python, el programa comienza asi: >>> > > >>> > >import pg >>> > >otras sentencias >>> > > >>> > > >>> > > Bueno al correr este programa me dice que no existe el nombre de >>>modulo >>> > >pg. >>> > > >>> > >Alguien me puede ayudar en este tema, debo cargar algo extra, bueno >>> > >pensando que era lo que me faltaba instale el paquete python-pgsql >>>(apt-get >>> > >install python-pgsql), pero tampoco funciono. Espero vuestra ayuda. >>> > > >>> > >Fernando Villarroel N. >>> > > > > _________________________________________________________________ ¿Estás buscando un auto nuevo? http://www.yupimsn.com/autos/ From visuallinux en hotmail.com Sat Aug 9 23:11:43 2003 From: visuallinux en hotmail.com (fernando miguel villarroel noriel) Date: Sat, 09 Aug 2003 21:11:43 +0000 Subject: Ejemplos de pygresql o pgsql Message-ID: Hola amigos les cuento que estoy comenzando a entrar a Python, pero quisiera tener algunos ejemplos para interactuar con postgres ya sea con pgsql o pygresql;; ah! cual prefieren ustedes. Es decir busco ejemplos de como saber cuantos registros tiene una consulta (reg=pg_filerow() de php) algo similar, o como desplegar registros en pantalla, como dar enter en un registro y hacer algo con ese registro, etc. Bueno y si alguien tiene algun manual o tutorial seria muy bienvenido. Gracias y estare atento a sus comentarios, saludos desde Chile. Fernando Villarroel N. _________________________________________________________________ Charla con tus amigos en línea mediante MSN Messenger: http://messenger.yupimsn.com/ From kmilo en softhome.net Sat Aug 9 23:29:23 2003 From: kmilo en softhome.net (kmilo) Date: 09 Aug 2003 16:29:23 -0500 Subject: PythonNet preview 2 Message-ID: <1060464705.535.56.camel@debian> PythonNet acaba de sacar su segundo preview, el cual permitira trabajar con python desde mono. http://zope.org/Members/Brian/PythonNet -- /kmilo From rapto en arrakis.es Sun Aug 10 11:44:00 2003 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Sun, 10 Aug 2003 11:44:00 +0200 Subject: Ejemplos de pygresql o pgsql In-Reply-To: References: Message-ID: <3F3613E0.8020404@arrakis.es> fernando miguel villarroel noriel wrote: > Hola amigos les cuento que estoy comenzando a entrar a Python, pero > quisiera tener algunos ejemplos para interactuar con postgres ya sea > con pgsql o pygresql;; ah! cual prefieren ustedes. > > Es decir busco ejemplos de como saber cuantos registros tiene una > consulta (reg=pg_filerow() de php) algo similar, o como desplegar > registros en pantalla, como dar enter en un registro y hacer algo con > ese registro, etc. > > Bueno y si alguien tiene algun manual o tutorial seria muy bienvenido. > > Gracias y estare atento a sus comentarios, saludos desde Chile. > > Fernando Villarroel N. > Para saber cuántos registros tiene una consulta, lo mejor es hacer un SELECT count(*) con las opciones que hagan falta. La otra manera es ejecutarla y traerse los resultados. Hay otras maneras, pero no son prácticas en el mundo real. Te adjunto un programita que rellena un grid; no será muy bueno, porque debe ser de las primeras cosas que hago en wxPython, pero sirve de ejemplo. ------------ próxima parte ------------ An embedded and charset-unspecified text was scrubbed... Name: pruebaWxGrid.py URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From siosss en ono.com Mon Aug 11 03:31:37 2003 From: siosss en ono.com (Sonia) Date: Sun, 10 Aug 2003 20:31:37 -0500 Subject: ayuda con un problema de python Message-ID: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia> hola!! tengo q hacer un rpograma sobre listas y matrices en python y mi dificultad esta en recorrer la matrix, pq solo necedito una columna determinada y yo estaba acostumbrada a recorrerla completa. bueno os envio el enunciado completo y mi 'solucion' del 1er apartado. asi antes de lanzarme al 2º a ver si me podeis decir si voy encaminada o no gracias!!! ENUNCIADO: queremos hacer un programa para extraer estadisticas acerca de las calificacionesobtenidas por una serie de estudiantes en diversas asignaturas. para ello disponemos de los siguientes datos: un vector N cadenas llamado NIF q almacena el nif de cada estudiante un vector de M cadenas llamado codigos q contiene los codigos de las asignaturas una matriz notas NxM elementos q contiene la nota obtenida(flotante) por cada estudiante en cada asignatura. asi la celda notas[i][j] contiene la calificacion q el estudiante cuyo nif es nif[i] ha obtenido en la asignatura cuyo codigo es codigos[j]. en el caso de q el estudiante no este matriculado o no se haya presentado a una asignatura, la celda correspondiente contendra los valores -2 o -1 , respectivamente se pide: a) escribir un procedimiento q reciba como parametros la matrix y los 2 vectores y el codigo de una asignatura, y muestre por pantalla el nif de aquellos estudiantes q hayan obtenido en dicha asignatura una nota superior a la media de la asignatura. para calcular la media unicamente se deben considerar las notas de los presentados al examen b) escribir un procedimiento q reciba como parametros la matriz notas y el vector de codigos , y muestre por pantalla el codigo de la asignatura q tiene el mayor porcentaje de presentados con respecto al de los matriculados ahora va mi solucion del apartado a) def (nif, codigos,notas,codigo_asig): #mira la posicion del codigo_asig en el vector codigos #para saber la columna a recorrer en la matriz cont=0 for j in range(0,len(codigos)): if codigos[i]==codigo_asig: j=posic #columna a recorrer for i in range (0,len(notas)): for i==posic: if notas[i][j]<>'-1': #no presentado cont=cont+1 #num de notas sum=sum+notas[i][j] #suma todas las notas media=sum/cont for i in range(0,len(notas)): for j==posic: if notas[i][j]>media: print nota[i][j] espero q podais ayudarme!! gracias!!! ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rabs en dimension-virtual.com Sun Aug 10 21:39:21 2003 From: rabs en dimension-virtual.com (=?iso-8859-1?Q?Ra=FAl?= Alexis Betancort Santana) Date: Sun, 10 Aug 2003 20:39:21 +0100 Subject: ayuda con un problema de python In-Reply-To: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia> References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia> Message-ID: <20030810193921.GA13323@dimension-virtual.com> El Sun, Aug 10, 2003 at 08:31:37PM -0500, Sonia escribió: > def (nif, codigos,notas,codigo_asig): > #mira la posicion del codigo_asig en el vector codigos > #para saber la columna a recorrer en la matriz > cont=0 > for j in range(0,len(codigos)): > if codigos[i]==codigo_asig: > j=posic #columna a recorrer ^^^ ¿te la sacas de la manga? > for i in range (0,len(notas)): > for i==posic: ^^^ supongo que tenia que ser un "if" > if notas[i][j]<>'-1': #no presentado ^^^^ ¿Te tragas el caso de -2 ? > cont=cont+1 #num de notas > sum=sum+notas[i][j] #suma todas las notas ^^^ Mas bien ... "Acumula las notas para calcular la media" > media=sum/cont > > for i in range(0,len(notas)): > for j==posic: > if notas[i][j]>media: > print nota[i][j] ^^^ Te falta imprimir el NIF, no solo la nota De todas formas recorres la matriz de forma totalmente incorrecta, si ya sabes cual es la fila o columna a recorrer, ¿porque la recorres completa con el "for i in range(0,len(notas))" ?, recorre solo lo que te interesa notas[][j], ademas, sabes de antemano cuantas columnas va a tener (len(codigos)), puesto que si el alunno no se matriculó habrá un -2 y si no se presentó un -1. Replanteate la solución que ha propuesto, pues no es correcta. Pistas: - Lo que no sabes a priori es cuantos alumnos, pero si cuantas asignaturas tienes, tal vez te convenga primero "rotar" la matriz, de cara a simplificar la forma de recorrerla. - No te olvides de los posibles casos de descartes para los contadores (el -2 en tu caso) - Mira a ver si puedes buscar una forma de "hacerlo todo" en una pasada, tal vez creando un vector asociativo en funcion de por ejemplo las notas. Saludos -- _ _ // Raúl A. Betancort Santana /> A Dream is an answer to __ \\ // // question that we don't know (oo) \\ // Dimensión Virtual S.L. // how to ask. / \/ \ // \> A Linux Solution Provider ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ch3m4 en ch3m4.org Mon Aug 11 10:09:46 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Mon, 11 Aug 2003 10:09:46 +0200 Subject: PythonNet preview 2 In-Reply-To: <1060464705.535.56.camel@debian> References: <1060464705.535.56.camel@debian> Message-ID: kmilo escribió: > PythonNet acaba de sacar su segundo preview, el cual permitira trabajar > con python desde mono. > > http://zope.org/Members/Brian/PythonNet Antes de nada, quisiera agradecerte el esfuerzo que has hecho en este proyecto. ¿Podrías comentar un poco qué hay que hacer para que funcione con mono? ¿Sigue siendo necesario tener .Net instalado para poder compilar PythonNet para mono? From susi.toci en nodo50.org Mon Aug 11 10:53:37 2003 From: susi.toci en nodo50.org (David Asorey Álvarez) Date: Mon, 11 Aug 2003 08:53:37 -0000 Subject: ayuda con un problema de python. Message-ID: Una solución original sería crear tres tablas en una base de datos, volcar los datos de todos los vectores y luego traerte lo que te piden con SQLs. No se si te lo darían como bueno ;-) Ya en serio. Las "List Comprehensions" te pueden ser de mucha ayuda para filtrar listas y operar con ellas. En castellano (para Python 2.0): http://pyspanishdoc.sourceforge.net/tut/node7.html#SECTION007140000000000000000 En inglés (Python 2.3): http://www.python.org/doc/current/tut/node7.html#SECTION007140000000000000000 Un saludo y suerte. -- David Asorey Álvarez forodejazz en yahoo.es http://www.geocities.com/forodejazz/programacion/ ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From siosss en ono.com Mon Aug 11 17:58:12 2003 From: siosss en ono.com (Sonia) Date: Mon, 11 Aug 2003 10:58:12 -0500 Subject: ayuda con un problema de python. References: Message-ID: <00b501c36021$5e0e7960$c3b3ca51@Sonia> pues no. el sql lo gsto para base de datos , no para programacion. aki solo puedo gastar listas, matrices, etc ----- Original Message ----- From: David Asorey Álvarez To: Sent: Monday, August 11, 2003 3:53 AM Subject: [Python-es] Re: ayuda con un problema de python. > > Una solución original sería crear tres tablas en una base de datos, > volcar los datos de todos los vectores y luego traerte lo que te piden > con SQLs. No se si te lo darían como bueno ;-) > > Ya en serio. Las "List Comprehensions" te pueden ser de mucha ayuda > para filtrar listas y operar con ellas. > > En castellano (para Python 2.0): > http://pyspanishdoc.sourceforge.net/tut/node7.html#SECTION007140000000000000 000 > > En inglés (Python 2.3): > http://www.python.org/doc/current/tut/node7.html#SECTION00714000000000000000 0 > > Un saludo y suerte. > > > -- > David Asorey Álvarez > forodejazz en yahoo.es > http://www.geocities.com/forodejazz/programacion/ > ---------------------------------------------------------------------------- ---- _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From siosss en ono.com Mon Aug 11 19:30:58 2003 From: siosss en ono.com (Sonia) Date: Mon, 11 Aug 2003 12:30:58 -0500 Subject: ayuda con un problema de python References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia> <20030810193921.GA13323@dimension-virtual.com> Message-ID: <001801c3602e$539bfe00$c3b3ca51@Sonia> hola de nuevo! he modificado mi programa. a ver si asi ya va mejor. mientras voy a hacer el 2) procedimiento gracias!! #procedimiento q reciba como parametros la matriz, #los 2 vectores nif y codigos, y el codigo de la #asignatura, y muestre por pantalla el NIF de aquellos #estudiantes q hayan obtenido en dicha asignatura una #nota superior a la media de la asignatura. Para #calcular la media unicamentese deben considerar las #notas de los presentados al examen def (nif, codigos,notas,codigo_asig): #mira la posicion del codigo_asig en el vector codigos #para saber la columna a recorrer en la matriz cont=0 for j in range(0,len(codigos)): if codigos[j]==codigo_asig: j=posic #columna a recorrer #creo un vector de media #recorro la matriz, para sacar la media de cada #columna y almacenarla al vector sum=0 cont=0 for i in range (0,len(nif)): for j in range(0,len(codigos): if notas[i][j]<>'-1': #no presentado if notas[i][j]<>'-2': #no matriculado cont=cont+1 #num de notas sum=sum+notas[i][j] #suma todas las notas media[j]=sum/cont #como se inicializaba el vector q creo?¿?¿?¿ for i in range(0,len(nif)): for j==posic: if notas[i][j]>media[j]: print nif[j] #recorrer la matriz de forma notas[][j] no se como es ----- Original Message ----- From: Raúl Alexis Betancort Santana To: La lista de python en castellano Sent: Sunday, August 10, 2003 2:39 PM Subject: Re: [Python-es] ayuda con un problema de python _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From siosss en ono.com Mon Aug 11 20:03:38 2003 From: siosss en ono.com (Sonia) Date: Mon, 11 Aug 2003 13:03:38 -0500 Subject: ayuda con un problema de python References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia> <20030810193921.GA13323@dimension-virtual.com> Message-ID: <002d01c36032$e789b9a0$c3b3ca51@Sonia> aqui dejo el apartado 2: #escribir un procedimiento q reciba como parametros #la matriz de notas y el vector codigos, y muestre por #pantalla el codigo de la asignatura q tiene mayor #porcentaje de presentados respecto al total de los #matriculados def(notas,codigos): #recorro la matriz y hago un vector q pondre el #contador de cada columna cuando sean <> -1 for i in range(0,len(nif)): for j in range(0,len(codigos)): if notas[i][j]<>'-1': vcont[j]=vcont[j]+1 #ver la posicion q tiene el maximo contador max=0 pos=0 for i in range(0,len(vcont)): if vcont[i]>max: max=vcont[i] pos=i print nif[pos] #como tengo q definir el vector q creo??? #supongo q ahora el programa principal solo sera inicializar todas las listas y matrices, no se si me faltara algo mas ----- Original Message ----- From: Raúl Alexis Betancort Santana To: La lista de python en castellano Sent: Sunday, August 10, 2003 2:39 PM Subject: Re: [Python-es] ayuda con un problema de python _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From aporcar en dipcas.es Mon Aug 11 13:31:27 2003 From: aporcar en dipcas.es (Alvar Porcar) Date: Mon, 11 Aug 2003 13:31:27 +0200 Subject: Python en red Message-ID: <3F377E8F.5020904@dipcas.es> Cómo puede desarrollar aplicaciones que trabajen en red, cliente/ servidor, al estilo por ejemplo de rmi en java? Gracias, --- From dchapar.madrid en sinvest.es Mon Aug 11 13:42:25 2003 From: dchapar.madrid en sinvest.es (Diego Chaparro) Date: Mon, 11 Aug 2003 13:42:25 +0200 Subject: Python en red In-Reply-To: <3F377E8F.5020904@dipcas.es> References: <3F377E8F.5020904@dipcas.es> Message-ID: <3F378121.7080503@sinvest.es> aporcar en dipcas.es wrote: > Cómo puede desarrollar aplicaciones que trabajen en red, cliente/ > servidor, al estilo por ejemplo de rmi en java? > Gracias, Yo utilizo Pyro y funciona muy bien: http://pyro.sourceforge.net/ From ch3m4 en ch3m4.org Mon Aug 11 13:49:52 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Mon, 11 Aug 2003 13:49:52 +0200 Subject: ayuda con un problema de python In-Reply-To: <001801c3602e$539bfe00$c3b3ca51@Sonia> References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia> <20030810193921.GA13323@dimension-virtual.com> <001801c3602e$539bfe00$c3b3ca51@Sonia> Message-ID: Sonia escribió: > hola de nuevo! > he modificado mi programa. a ver si asi ya va mejor. > mientras voy a hacer el 2) procedimiento Voy a comentarte algunos detalles. Deberías probar lo que programas antes de enviarlo. Es la mejor forma de aprender de tus fallos. > #procedimiento q reciba como parametros la matriz, > #los 2 vectores nif y codigos, y el codigo de la > #asignatura, y muestre por pantalla el NIF de aquellos > #estudiantes q hayan obtenido en dicha asignatura una > #nota superior a la media de la asignatura. Para > #calcular la media unicamentese deben considerar las > #notas de los presentados al examen > > def (nif, codigos,notas,codigo_asig): > #mira la posicion del codigo_asig en el vector codigos > #para saber la columna a recorrer en la matriz > cont=0 > for j in range(0,len(codigos)): > if codigos[j]==codigo_asig: > j=posic #columna a recorrer Un primer consejo es que no alteres la variable de control del bucle dentro del bucle. Creo que has puesto mal la asignación, que debe ser posic=j También te aconsejo que en los bucles recorras la lista elemento a elemento, sin acceder a los elemento a través de variables índices. Esto es: for c in codigos: if c==codigo_asig: posic=c break # ya no hace falta seguir mirando Para para buscar la posición de un elemento te recomiendo utilizar el método .index(): posic=codigo.index(codigo_asig) > #creo un vector de media > #recorro la matriz, para sacar la media de cada > #columna y almacenarla al vector > sum=0 > cont=0 > for i in range (0,len(nif)): > for j in range(0,len(codigos): > if notas[i][j]<>'-1': #no presentado > if notas[i][j]<>'-2': #no matriculado > cont=cont+1 #num de notas > sum=sum+notas[i][j] #suma todas las notas > media[j]=sum/cont Aquí tienes mal puestos los if's. Deberías haber combinado los dos: if notas[i][j]<>'-1' or notas[i][j]<>'-2': ... Pero hay que comentar más cosas. Se suponen que las notas son números reales (como ponía el enunciado). Aquí estás comprobando con cadenas de texto '-1' y '-2'. Cuida con ésto, ya que siempre siempre te saldrá falsa la comparación, puesto que un float y una cadena de caracteres nunca serán iguales. Debería ser: if notas[i][j]<>-1 or notas[i][j]<>-2: ... Aún sería mejor si fuera así: if notas[i][j]<0: ... Seguimos con las correcciones. Habías encontrado la columna que querías comprobar (posic). No lo has tenido en cuenta a la hora de recorrer las matriz, por lo que estás comprobando todas las asignaturas. Conociendo la columna, con un simple bucle te bastaría (no te pongo el código para que lo intentes por tí misma). También puedes aprovechar la compresión de listas: notas_asignatura = [n[posic] for n in notas] Aunque pueder serte complicado ahora mismo (y puede que el profesor no quiera que las compresiones de listas), es mejor que te vayas acostumbrando con esta característica del python. > #como se inicializaba el vector q creo?¿?¿?¿ > > for i in range(0,len(nif)): > for j==posic: > if notas[i][j]>media[j]: > print nif[j] > #recorrer la matriz de forma notas[][j] no se como es Como te había dicho, basta con un bucle. Te pongo la versión con compresión de listas (y python 2.3); pero deberías seguir intentándolo como lo venías haciendo hasta ahora: def (nif, codigos,notas,codigo_asig): posic=notas.index(codigo_asig) notas_asignatura=[n[posic] for n in notas] notas_presentados=[n for n in notas_asignaturas if n>=0] media=sum(notas_presentados)/len(notas_presentados) for i,n in enumerate(notas_asignatura): if n>media: print nif[i],n From ch3m4 en ch3m4.org Mon Aug 11 14:02:19 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Mon, 11 Aug 2003 14:02:19 +0200 Subject: ayuda con un problema de python In-Reply-To: References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia> <20030810193921.GA13323@dimension-virtual.com> <001801c3602e$539bfe00$c3b3ca51@Sonia> Message-ID: Chema Cortés escribió: OJO!, he tenido algunos fallos en el código que he puesto (aún no me he recuperado de las fiestas de Huesca) > for c in codigos: > if c==codigo_asig: > posic=c > break # ya no hace falta seguir mirando ERROR1: Aquí 'posic' sería el código de la asignatura, no la posición de la columna. > Aquí tienes mal puestos los if's. Deberías haber combinado los dos: > > if notas[i][j]<>'-1' or notas[i][j]<>'-2': > ... > La combinación sería con 'and', no con 'or' > Te pongo la versión con compresión de listas (y python 2.3); pero > deberías seguir intentándolo como lo venías haciendo hasta ahora: > > def (nif, codigos,notas,codigo_asig): > posic=notas.index(codigo_asig) > notas_asignatura=[n[posic] for n in notas] > notas_presentados=[n for n in notas_asignaturas if n>=0] > > media=sum(notas_presentados)/len(notas_presentados) > > for i,n in enumerate(notas_asignatura): > if n>media: > print nif[i],n Incompresiblemente (para mí), en este código creo que no he cometido hErrores :-P From Andres.Moya en hispalinux.es Mon Aug 11 14:15:56 2003 From: Andres.Moya en hispalinux.es (Andres Moya) Date: 11 Aug 2003 14:15:56 +0200 Subject: ayuda con un problema de python In-Reply-To: References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia> <20030810193921.GA13323@dimension-virtual.com> <001801c3602e$539bfe00$c3b3ca51@Sonia> Message-ID: <1060604156.2682.8.camel@cebollino.micasa.es> El lun, 11 de 08 de 2003 a las 13:49, Chema Cortés escribió: > También te aconsejo que en los bucles recorras la lista elemento a > elemento, sin acceder a los elemento a través de variables índices. Esto es: > > for c in codigos: > if c==codigo_asig: > posic=c > break # ya no hace falta seguir mirando Ojo con esto, no es correcto. Si haces eso, al salir posic valdrá igual que codigo_asig, no contendrá el índice, como se pretende. En python 2.3 (que acaba de salir este mes) han creado una función "built-in" nueva enumerate() que resuelve esto de forma elegante. Se puede hacer: for (i, codigo) in enumerate(codigos): if codigo == codigo_asig: posic = i break Si no tienes python 2.3, se puede escribir una función que haga lo mismo que enumerate(), pero para el caso actual, como es un ejercicio, casi mejor dejarlo como lo estaba haciendo Sonia. Lo que sí es útil es el break. > Para para buscar la posición de un elemento te recomiendo utilizar el > método .index(): > > posic=codigo.index(codigo_asig) O también así. En realidad esto es lo mejor. -- Andres Moya Contra la guerra global permanente. Foro Social Mundial - Otro mundo es posible. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From siosss en ono.com Tue Aug 12 01:03:33 2003 From: siosss en ono.com (Sonia) Date: Mon, 11 Aug 2003 18:03:33 -0500 Subject: ayuda con un problema de python References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia><20030810193921.GA13323@dimension-virtual.com><001801c3602e$539bfe00$c3b3ca51@Sonia> Message-ID: <008e01c3605c$ca0838a0$c3b3ca51@Sonia> hola!! creo q he mejorado el programa, intentado hacer el principal y todo, uanq la matriz la pido y en verdad kiero poner un ejemplo, al igual q hago en las listas os agrego el programa 'completo' lo he compilado (gasto el pythong) pero me da errores de identacion en los fors y eso, y no se q pasa. yo creo q son asi bueno si podeis me lo mirais y me corregiis lo q veais!! gracias!!! #procedimiento q reciba como parametros la matriz, #los 2 vectores nif y codigos, y el codigo de la #asignatura, y muestre por pantalla el NIF de aquellos #estudiantes q hayan obtenido en dicha asignatura una #nota superior a la media de la asignatura. Para #calcular la media unicamentese deben considerar las #notas de los presentados al examen from matrices import matriz def p1(nif, codigos,notas,codigo_asig): #mira la posicion del codigo_asig en el vector codigos #para saber la columna a recorrer en la matriz cont=0 for j in codigos: if codigos[j]==codigo_asig: posic=j #columna a recorrer media=0 sum=0 cont=0 for i in range (0,len(nif)) and j==posic: #for j==posic: if notas[i][j]>0: #no presentado y no presentado cont=cont+1 #num de notas sum=sum+notas[i][j] #suma todas las notas media=sum/cont #como se inicializaba el vector q creo?¿?¿?¿ for i in range(0,len(nif)) and j==posic: #for j==posic: if notas[i][j]>media[j]: return nif[j] #escribir un procedimiento q reciba como parametros #la matriz de notas y el vector codigos, y muestre por #pantalla el codigo de la asignatura q tiene mayor #porcentaje de presentados respecto al total de los #matriculados def p2(notas,codigos): #recorro la matriz y hago un vector q pondre el #contador de cada columna cuando sean <> -1 for i in range(0,len(nif)): for j in range(0,len(codigos)): if notas[i][j]<> -1: vcont[j]=vcont[j]+1 #ver la posicion q tiene el maximo contador max=0 pos=0 for i in range(0,len(vcont)): if vcont[i]>max: max=vcont[i] pos=i return codigo[pos] #como tengo q definir el vector q creo??? #supongo q ahora el programa principal solo sera #inicializar todas las listas y matrices, no se si me #faltara algo mas #PROGRAMA PRINCIPAL nif=["07525818J","18234590V","10437112X","21334801A"] codigos=["IG20","IG02","IG03","IG04","J11"] codigo_asig='IG02' n=int(raw_input('dime un numero: ')) notas=matriz(n,n) for i in range(0,n): for j in range(0,n): mat[i,j]=int(raw_input('valor de la matriz: ')) rdo1=p1(nif, codigos,notas,codigo_asig): rdo2=p2(notas,codigos): print notas print 'Estudiantes con nota superior a la media', rdo1 print 'Asignatura con mayor porcentaje', rdo2 ----- Original Message ----- From: Chema Cortés To: Sent: Monday, August 11, 2003 7:02 AM Subject: [Python-es] Re: ayuda con un problema de python > Chema Cortés escribió: > > OJO!, he tenido algunos fallos en el código que he puesto (aún no me he > recuperado de las fiestas de Huesca) > > > for c in codigos: > > if c==codigo_asig: > > posic=c > > break # ya no hace falta seguir mirando > > ERROR1: Aquí 'posic' sería el código de la asignatura, no la posición de > la columna. > > > Aquí tienes mal puestos los if's. Deberías haber combinado los dos: > > > > if notas[i][j]<>'-1' or notas[i][j]<>'-2': > > ... > > > > La combinación sería con 'and', no con 'or' > > > > Te pongo la versión con compresión de listas (y python 2.3); pero > > deberías seguir intentándolo como lo venías haciendo hasta ahora: > > > > def (nif, codigos,notas,codigo_asig): > > posic=notas.index(codigo_asig) > > notas_asignatura=[n[posic] for n in notas] > > notas_presentados=[n for n in notas_asignaturas if n>=0] > > > > media=sum(notas_presentados)/len(notas_presentados) > > > > for i,n in enumerate(notas_asignatura): > > if n>media: > > print nif[i],n > > Incompresiblemente (para mí), en este código creo que no he cometido > hErrores :-P > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From kmilo en softhome.net Tue Aug 12 02:54:38 2003 From: kmilo en softhome.net (kmilo) Date: 11 Aug 2003 19:54:38 -0500 Subject: PythonNet preview 2 In-Reply-To: References: <1060464705.535.56.camel@debian> Message-ID: <1060649666.329.18.camel@debian> El lun, 11-08-2003 a las 03:09, Chema Cortés escribió: > kmilo escribió: > > PythonNet acaba de sacar su segundo preview, el cual permitira trabajar > > con python desde mono. > > > > http://zope.org/Members/Brian/PythonNet > > Antes de nada, quisiera agradecerte el esfuerzo que has hecho en este > proyecto. Gracias, pero solo fueron unos makefiles :) > ¿Podrías comentar un poco qué hay que hacer para que funcione > con mono? Debes tener instalado Python 2.2.3 y yo lo he probado con mono 0.25 Ahi algo que no se si te sea necesario pero que debi hacer en mi debian, al ejecutar python.exe me aparecia un error por que no encontraba el archivo /usr/lib/libpython22.so y como no lo tenia, entonces le hice un enlace blando desde /usr/lib/libpython2.2.so y funciono > ¿Sigue siendo necesario tener .Net instalado para poder > compilar PythonNet para mono? si, es que el mono assembler o el disassembler no puede hacer un proceso que es parte de la compilacion de todas maneras puedes usar: http://zope.org/Members/Brian/PythonNet/Releases/PythonNet-preview-2.tgz que ya viene compilado. Si tienes algun problema con la instalacion, me avisas. PDT: una forma muy sencilla de instalar mono es usar los debs de: http://www.debianplanet.org/mono -- /kmilo From luigli en yahoo.es Tue Aug 12 08:07:01 2003 From: luigli en yahoo.es (=?iso-8859-1?q?Luis=20Iglesias?=) Date: Tue, 12 Aug 2003 08:07:01 +0200 (CEST) Subject: Python en red In-Reply-To: <3F377E8F.5020904@dipcas.es> References: <3F377E8F.5020904@dipcas.es> Message-ID: <20030812060701.39430.qmail@web80503.mail.yahoo.com> --- Alvar Porcar escribió: > Cómo puede desarrollar aplicaciones que trabajen en red, cliente/ > servidor, al estilo por ejemplo de rmi en java? > Gracias, Tienes soluciones exclusivamente para python como pyro, y otras más genéricas como xml-rpc (www.xmlrpc.com). Pyro sería equivalente a rmi en java ya que, que yo sepa, no puedes acceder a un servidor rmi si no es con java. xmlrpc, que creo que viene ya con python de serie, es un protocolo de aplicaciones distribuidas basado en xml que tiene implementaciones en muchos lenguajes y plataformas, incluido Java (consúltalo en www.xmlrpc.com/directory/1568/implementations) Las pruebas que he hecho, en el sentido de la facilidad de implementación, me han convencido. ___________________________________________________ Yahoo! Messenger - Nueva versión GRATIS Super Webcam, voz, caritas animadas, y más... http://messenger.yahoo.es From rvr en infoastro.com Tue Aug 12 06:21:02 2003 From: rvr en infoastro.com (Victor R. Ruiz) Date: Tue, 12 Aug 2003 06:21:02 +0200 Subject: Python en red In-Reply-To: <20030812060701.39430.qmail@web80503.mail.yahoo.com> References: <20030812060701.39430.qmail@web80503.mail.yahoo.com> Message-ID: <200308120621.02864.rvr@infoastro.com> Hola: El Martes, 12 de Agosto de 2003 08:07, Luis Iglesias tecleó: > Pyro sería equivalente a rmi en java ya que, que yo sepa, no puedes > acceder a un servidor rmi si no es con java. xmlrpc, que creo que viene > ya con python de serie, es un protocolo de aplicaciones distribuidas > basado en xml que tiene implementaciones en muchos lenguajes y Pero cuidado, porque XML-RPC es sólo para llamada remotas a funciones, no para creación de objetos persistentes. Saludetes, -- Víctor R. Ruiz | - Todos estos momentos se perderán Centro de Astrobiología INTA/CSIC | como lágrimas en la lluvia From siosss en ono.com Tue Aug 12 16:56:40 2003 From: siosss en ono.com (Sonia) Date: Tue, 12 Aug 2003 09:56:40 -0500 Subject: ayuda con un problema de python Message-ID: <002901c360e1$f02b8d40$c3b3ca51@Sonia> > hola!! > creo q he mejorado el programa, intentado hacer el principal y todo, uanq la > matriz la pido y en verdad kiero poner un ejemplo, al igual q hago en las > listas > os agrego el programa 'completo' > lo he compilado (gasto el pythong) pero me da errores de identacion en los > fors y eso, y no se q pasa. yo creo q son asi > bueno si podeis me lo mirais y me corregiis lo q veais!! > > gracias!!! > > > #procedimiento q reciba como parametros la matriz, > #los 2 vectores nif y codigos, y el codigo de la > #asignatura, y muestre por pantalla el NIF de aquellos > #estudiantes q hayan obtenido en dicha asignatura una > #nota superior a la media de la asignatura. Para > #calcular la media unicamentese deben considerar las > #notas de los presentados al examen > from matrices import matriz > > def p1(nif, codigos,notas,codigo_asig): > #mira la posicion del codigo_asig en el vector codigos > #para saber la columna a recorrer en la matriz > cont=0 > for j in codigos: > if codigos[j]==codigo_asig: > posic=j #columna a recorrer > > media=0 > sum=0 > cont=0 > for i in range (0,len(nif)) and j==posic: > #for j==posic: > if notas[i][j]>0: #no presentado y no presentado > cont=cont+1 #num de notas > sum=sum+notas[i][j] #suma todas las notas > media=sum/cont > > #como se inicializaba el vector q creo?¿?¿?¿ > > for i in range(0,len(nif)) and j==posic: > #for j==posic: > if notas[i][j]>media[j]: > return nif[j] > > > > > #escribir un procedimiento q reciba como parametros > #la matriz de notas y el vector codigos, y muestre por > #pantalla el codigo de la asignatura q tiene mayor > #porcentaje de presentados respecto al total de los > #matriculados > > def p2(notas,codigos): > > #recorro la matriz y hago un vector q pondre el > #contador de cada columna cuando sean <> -1 > > for i in range(0,len(nif)): > for j in range(0,len(codigos)): > if notas[i][j]<> -1: > vcont[j]=vcont[j]+1 > #ver la posicion q tiene el maximo contador > max=0 > pos=0 > for i in range(0,len(vcont)): > if vcont[i]>max: > max=vcont[i] > pos=i > return codigo[pos] > > #como tengo q definir el vector q creo??? > > #supongo q ahora el programa principal solo sera > #inicializar todas las listas y matrices, no se si me > #faltara algo mas > > > #PROGRAMA PRINCIPAL > > > nif=["07525818J","18234590V","10437112X","21334801A"] > codigos=["IG20","IG02","IG03","IG04","J11"] > codigo_asig='IG02' > > n=int(raw_input('dime un numero: ')) > notas=matriz(n,n) > for i in range(0,n): > for j in range(0,n): > mat[i,j]=int(raw_input('valor de la matriz: ')) > > rdo1=p1(nif, codigos,notas,codigo_asig): > rdo2=p2(notas,codigos): > > print notas > print 'Estudiantes con nota superior a la media', rdo1 > print 'Asignatura con mayor porcentaje', rdo2 > > > > ----- Original Message ----- > From: Chema Cortés > To: > Sent: Monday, August 11, 2003 7:02 AM > Subject: [Python-es] Re: ayuda con un problema de python > > > > Chema Cortés escribió: > > > > OJO!, he tenido algunos fallos en el código que he puesto (aún no me he > > recuperado de las fiestas de Huesca) > > > > > for c in codigos: > > > if c==codigo_asig: > > > posic=c > > > break # ya no hace falta seguir mirando > > > > ERROR1: Aquí 'posic' sería el código de la asignatura, no la posición de > > la columna. > > > > > Aquí tienes mal puestos los if's. Deberías haber combinado los dos: > > > > > > if notas[i][j]<>'-1' or notas[i][j]<>'-2': > > > ... > > > > > > > La combinación sería con 'and', no con 'or' > > > > > > > Te pongo la versión con compresión de listas (y python 2.3); pero > > > deberías seguir intentándolo como lo venías haciendo hasta ahora: > > > > > > def (nif, codigos,notas,codigo_asig): > > > posic=notas.index(codigo_asig) > > > notas_asignatura=[n[posic] for n in notas] > > > notas_presentados=[n for n in notas_asignaturas if n>=0] > > > > > > media=sum(notas_presentados)/len(notas_presentados) > > > > > > for i,n in enumerate(notas_asignatura): > > > if n>media: > > > print nif[i],n > > > > Incompresiblemente (para mí), en este código creo que no he cometido > > hErrores :-P > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > From siosss en ono.com Tue Aug 12 16:57:17 2003 From: siosss en ono.com (Sonia) Date: Tue, 12 Aug 2003 09:57:17 -0500 Subject: RV: Re: ayuda con un problema de python Message-ID: <003001c360e2$06a8b160$c3b3ca51@Sonia> sorry x el mail anterior. era este el q queria enviar!!! > > > > hola!! > > creo q he mejorado el programa, intentado hacer el principal y todo, uanq > la > > matriz la pido y en verdad kiero poner un ejemplo, al igual q hago en las > > listas > > os agrego el programa 'completo' > > lo he compilado (gasto el pythong) pero me da errores de identacion en los > > fors y eso, y no se q pasa. yo creo q son asi > > bueno si podeis me lo mirais y me corregiis lo q veais!! > > > > gracias!!! > > > > > > #procedimiento q reciba como parametros la matriz, > > #los 2 vectores nif y codigos, y el codigo de la > > #asignatura, y muestre por pantalla el NIF de aquellos > > #estudiantes q hayan obtenido en dicha asignatura una > > #nota superior a la media de la asignatura. Para > > #calcular la media unicamentese deben considerar las > > #notas de los presentados al examen > > from matrices import matriz > > > > def p1(nif, codigos,notas,codigo_asig): > > #mira la posicion del codigo_asig en el vector codigos > > #para saber la columna a recorrer en la matriz > > cont=0 > > for j in codigos: > > if codigos[j]==codigo_asig: > > posic=j #columna a recorrer > > > > media=0 > > sum=0 > > cont=0 > > for i in range (0,len(nif)) and j==posic: > > #for j==posic: > > if notas[i][j]>0: #no presentado y no presentado > > cont=cont+1 #num de notas > > sum=sum+notas[i][j] #suma todas las notas > > media=sum/cont > > > > #como se inicializaba el vector q creo?¿?¿?¿ > > > > for i in range(0,len(nif)) and j==posic: > > #for j==posic: > > if notas[i][j]>media[j]: > > return nif[j] > > > > > > > > > > #escribir un procedimiento q reciba como parametros > > #la matriz de notas y el vector codigos, y muestre por > > #pantalla el codigo de la asignatura q tiene mayor > > #porcentaje de presentados respecto al total de los > > #matriculados > > > > def p2(notas,codigos): > > > > #recorro la matriz y hago un vector q pondre el > > #contador de cada columna cuando sean <> -1 > > > > for i in range(0,len(nif)): > > for j in range(0,len(codigos)): > > if notas[i][j]<> -1: > > vcont[j]=vcont[j]+1 > > #ver la posicion q tiene el maximo contador > > max=0 > > pos=0 > > for i in range(0,len(vcont)): > > if vcont[i]>max: > > max=vcont[i] > > pos=i > > return codigo[pos] > > > > #como tengo q definir el vector q creo??? > > > > #supongo q ahora el programa principal solo sera > > #inicializar todas las listas y matrices, no se si me > > #faltara algo mas > > > > > > #PROGRAMA PRINCIPAL > > > > > > nif=["07525818J","18234590V","10437112X","21334801A"] > > codigos=["IG20","IG02","IG03","IG04","J11"] > > codigo_asig='IG02' > > > > n=int(raw_input('dime un numero: ')) > > notas=matriz(n,n) > > for i in range(0,n): > > for j in range(0,n): > > mat[i,j]=int(raw_input('valor de la matriz: ')) > > > > rdo1=p1(nif, codigos,notas,codigo_asig): > > rdo2=p2(notas,codigos): > > > > print notas > > print 'Estudiantes con nota superior a la media', rdo1 > > print 'Asignatura con mayor porcentaje', rdo2 > > > > > > > > ----- Original Message ----- > > From: Chema Cortés > > To: > > Sent: Monday, August 11, 2003 7:02 AM > > Subject: [Python-es] Re: ayuda con un problema de python > > > > > > > Chema Cortés escribió: > > > > > > OJO!, he tenido algunos fallos en el código que he puesto (aún no me he > > > recuperado de las fiestas de Huesca) > > > > > > > for c in codigos: > > > > if c==codigo_asig: > > > > posic=c > > > > break # ya no hace falta seguir mirando > > > > > > ERROR1: Aquí 'posic' sería el código de la asignatura, no la posición de > > > la columna. > > > > > > > Aquí tienes mal puestos los if's. Deberías haber combinado los dos: > > > > > > > > if notas[i][j]<>'-1' or notas[i][j]<>'-2': > > > > ... > > > > > > > > > > La combinación sería con 'and', no con 'or' > > > > > > > > > > Te pongo la versión con compresión de listas (y python 2.3); pero > > > > deberías seguir intentándolo como lo venías haciendo hasta ahora: > > > > > > > > def (nif, codigos,notas,codigo_asig): > > > > posic=notas.index(codigo_asig) > > > > notas_asignatura=[n[posic] for n in notas] > > > > notas_presentados=[n for n in notas_asignaturas if n>=0] > > > > > > > > media=sum(notas_presentados)/len(notas_presentados) > > > > > > > > for i,n in enumerate(notas_asignatura): > > > > if n>media: > > > > print nif[i],n > > > > > > Incompresiblemente (para mí), en este código creo que no he cometido > > > hErrores :-P > > > > > > > > > _______________________________________________ > > > Python-es mailing list > > > Python-es en aditel.org > > > http://listas.aditel.org/listinfo/python-es > > > From jcanto en hispasec.com Tue Aug 12 11:19:25 2003 From: jcanto en hispasec.com (Julio Canto) Date: Tue, 12 Aug 2003 10:19:25 +0100 Subject: ayuda con un problema de python References: <003001c360e2$06a8b160$c3b3ca51@Sonia> Message-ID: <004001c360b2$d347d050$050010ac@vega700> Solo por curiosidad, para que asignatura eran estos ejercicios de python? > uanq la matriz la pido y en verdad kiero poner un ejemplo, al igual q hago en > las listas os agrego el programa 'completo' lo he compilado (gasto el pythong) > pero me da errores de identacion en los fors y eso, y no se q pasa. yo creo q > son asi bueno si podeis me lo mirais y me corregiis lo q veais!! From siosss en ono.com Tue Aug 12 17:14:53 2003 From: siosss en ono.com (Sonia) Date: Tue, 12 Aug 2003 10:14:53 -0500 Subject: ayuda con un problema de python References: <003001c360e2$06a8b160$c3b3ca51@Sonia> <004001c360b2$d347d050$050010ac@vega700> Message-ID: <000601c360e4$7ba92b00$c3b3ca51@Sonia> metodologia y tecnologia de la programacion carrera de ingenieria informatica no son para entregar ni nada. simplemente son enunciados q han salido en examenes y quiero practicar el examen es de python y c ----- Original Message ----- From: Julio Canto To: La lista de python en castellano Sent: Tuesday, August 12, 2003 4:19 AM Subject: Re: [Python-es] Re: ayuda con un problema de python > Solo por curiosidad, para que asignatura eran estos ejercicios de python? > > > uanq la matriz la pido y en verdad kiero poner un ejemplo, al igual q hago > en > > las listas os agrego el programa 'completo' lo he compilado (gasto el > pythong) > > pero me da errores de identacion en los fors y eso, y no se q pasa. yo > creo q > > son asi bueno si podeis me lo mirais y me corregiis lo q veais!! > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From ch3m4 en ch3m4.org Tue Aug 12 11:21:39 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Tue, 12 Aug 2003 11:21:39 +0200 Subject: PythonNet preview 2 In-Reply-To: <1060649666.329.18.camel@debian> References: <1060464705.535.56.camel@debian> <1060649666.329.18.camel@debian> Message-ID: kmilo escribió: > Si tienes algun problema con la instalacion, me avisas. > > PDT: > una forma muy sencilla de instalar mono es usar los debs de: > http://www.debianplanet.org/mono Uso este repositorio, pero la versión (unstable) del mono que me instala es la 0.24 Con el enlace a libpython2.2.so, al ejecutar python.exe me produce una excepción: Unhandled Exception: System.NullReferenceException: A null value was found where an object instance was required in (unmanaged) 00 Python.Runtime.MethodBinder:.ctor () in <0x00046> 00 Python.Runtime.MethodObject:.ctor (string,System.Reflection.MethodInfo[]) in <0x00013> 00 Python.Runtime.TypeMethod:.ctor (string,System.Reflection.MethodInfo[]) in <0x00103> 00 Python.Runtime.TypeManager:InitMethods (intptr,System.Type) in <0x0010e> 00 Python.Runtime.TypeManager:CreateType (System.Type) in <0x00066> 00 Python.Runtime.TypeManager:GetTypeHandle (System.Type) in <0x00032> 00 Python.Runtime.ExtensionType:.ctor () in <0x00010> 00 Python.Runtime.ModuleObject:.ctor (string) in <0x000ce> 00 Python.Runtime.ImportHook:Initialize () in <0x00326> 00 Python.Runtime.Runtime:Initialize () in <0x0001c> 00 Python.Runtime.PythonEngine:Initialize () in <0x0002a> 00 .PythonConsole:Main (string[]) También lo he intentado en un win2k con mono 0.23, y no lo he conseguido, aunque estoy usando python2.3. De todos modos sólo tenía curiosidad. En cuanto tenga algo de tiempo me lo miraré más a fondo, aunque no quisiera tener que intalar el .NET Gracias de todos modos, Chema Cortés From rapto en arrakis.es Tue Aug 12 14:01:53 2003 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Tue, 12 Aug 2003 14:01:53 +0200 Subject: PythonNet preview 2 In-Reply-To: <1060649666.329.18.camel@debian> References: <1060464705.535.56.camel@debian> <1060649666.329.18.camel@debian> Message-ID: <3F38D731.8020801@arrakis.es> Por si alguien lo prueba en Hasefroch, hay que ejecutarlo desde un disco local, porque si no da un error de seguridad. Y:\src\PythonNet>python.exe Excepción no controlada: System.Security.Policy.PolicyException: No se pueden obtener los permisos necesarios. at PythonConsole.Main(String[] args) Desde un disco duro local va de pila máster. kmilo wrote: > El lun, 11-08-2003 a las 03:09, Chema Cortés escribió: > >>kmilo escribió: >> >>>PythonNet acaba de sacar su segundo preview, el cual permitira trabajar >>>con python desde mono. >>> >>>http://zope.org/Members/Brian/PythonNet >> >>Antes de nada, quisiera agradecerte el esfuerzo que has hecho en este >>proyecto. > > Gracias, pero solo fueron unos makefiles :) > > >>¿Podrías comentar un poco qué hay que hacer para que funcione >>con mono? > > Debes tener instalado Python 2.2.3 y yo lo he probado con mono 0.25 > > Ahi algo que no se si te sea necesario pero que debi hacer en mi debian, > al ejecutar python.exe me aparecia un error por que no encontraba el > archivo /usr/lib/libpython22.so y como no lo tenia, entonces le hice un > enlace blando desde /usr/lib/libpython2.2.so y funciono > > >>¿Sigue siendo necesario tener .Net instalado para poder >>compilar PythonNet para mono? > > si, es que el mono assembler o el disassembler no puede hacer un proceso > que es parte de la compilacion > > de todas maneras puedes usar: > http://zope.org/Members/Brian/PythonNet/Releases/PythonNet-preview-2.tgz > que ya viene compilado. > > > Si tienes algun problema con la instalacion, me avisas. > > PDT: > una forma muy sencilla de instalar mono es usar los debs de: > http://www.debianplanet.org/mono > From susi.toci en nodo50.org Tue Aug 12 12:20:58 2003 From: susi.toci en nodo50.org (David Asorey Álvarez) Date: Tue, 12 Aug 2003 10:20:58 -0000 Subject: ayuda con un problema de python Message-ID: Sonia: > metodologia y tecnologia de la programacion > > carrera de ingenieria informatica > no son para entregar ni nada. simplemente son enunciados q han > salido en examenes y quiero practicar > > el examen es de python y c ¿Es la que dan en la Jaume I? Los apuntes son buenísimos.(http://marmota.act.uji.es/MTP/teoria.shtml). Ójala hubiera encontrado profesor en s tan buenos cuando yo estudiaba :( > uanq la matriz la pido y en verdad kiero poner un ejemplo, al igual > q hago > en > las listas os agrego el programa 'completo' lo he compilado (gasto > > el > pythong) > pero me da errores de identacion en los fors y eso, y no se q pasa. No conozco el entorno de programación PythonG, pero te puedo recomendar un editor *muy* bueno para Python. Es el SciTE (Scintilla Text Editor). Está en http://www.scintilla.org/SciTEDownload.html Entre otras cosas, te señala los tabuladores y/o espacios en blanco, diferenciándolos, te pliega el cuerpo de las funciones dejando sólo visible la cabecera, y muchas otras características útiles para programar con Python. Cuando un programa en Python empieza a dar problemas con la indetación, es casi imprescindible usar este editor para ver qué está pasando. Edita tu programa con el SciTE y verás que probablemente tienes espacios en blanco mezclados con tabuladores, y por eso te falla. El editor que acompaña al entorno PythonWin (http://www.python.org/windows/pythonwin/) también hace todo ésto, pero me parece menos fiable. Python es muy estricto con esto. O todo blancos, o todo tabuladores, pero nunca los dos a la vez. Un saludo. -- David Asorey Álvarez forodejazz en yahoo.es http://www.geocities.com/forodejazz/programacion/ ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From siosss en ono.com Tue Aug 12 19:25:16 2003 From: siosss en ono.com (Sonia) Date: Tue, 12 Aug 2003 12:25:16 -0500 Subject: ayuda con un problema de python References: Message-ID: <001601c360f6$b2852f40$c3b3ca51@Sonia> los apuntes no se si te pareceran buenos para ti. pero para los enunciados q ponen en el examen no valen casi de nada. en fin. algo es algo si tienes ejercicios de python resueltos sobre listas matrices y eso y no e smucha molestia....me los podrias pasar el python q esta bien. es una version como el python idle 2.0 pero mas 'bonita' tb me marca donde esta el fallo del tabulador etc, pero en este caso no se pq no esta bien tabulado, y asi no puedo seguir compilando y menos aun, ejecutando! de todas maneras, gracias!! ----- Original Message ----- From: David Asorey Álvarez To: Sent: Tuesday, August 12, 2003 5:20 AM Subject: [Python-es] Re: ayuda con un problema de python > Sonia: > > > metodologia y tecnologia de la programacion > > > > carrera de ingenieria informatica > > no son para entregar ni nada. simplemente son enunciados q han > > salido en examenes y quiero practicar > > > > el examen es de python y c > > ¿Es la que dan en la Jaume I? > > Los apuntes son buenísimos.(http://marmota.act.uji.es/MTP/teoria.shtml). > > Ójala hubiera encontrado profesor en s tan buenos cuando yo estudiaba :( > > > uanq la matriz la pido y en verdad kiero poner un ejemplo, al igual > > q hago > > en > > las listas os agrego el programa 'completo' lo he compilado (gasto > > > el > > pythong) > > pero me da errores de identacion en los fors y eso, y no se q pasa. > > > No conozco el entorno de programación PythonG, pero te puedo > recomendar un editor *muy* bueno para Python. > > Es el SciTE (Scintilla Text Editor). Está en > http://www.scintilla.org/SciTEDownload.html > > Entre otras cosas, te señala los tabuladores y/o espacios en > blanco, diferenciándolos, te pliega el cuerpo de las funciones dejando > sólo visible la cabecera, y muchas otras características útiles para > programar con Python. Cuando un programa en Python empieza a dar > problemas con la indetación, es casi imprescindible usar este editor > para ver qué está pasando. > > Edita tu programa con el SciTE y verás que probablemente tienes > espacios en blanco mezclados con tabuladores, y por eso te falla. > > El editor que acompaña al entorno PythonWin > (http://www.python.org/windows/pythonwin/) también hace todo ésto, > pero me parece menos fiable. > > Python es muy estricto con esto. O todo blancos, o todo > tabuladores, pero nunca los dos a la vez. > > Un saludo. > > > -- > David Asorey Álvarez > forodejazz en yahoo.es > http://www.geocities.com/forodejazz/programacion/ > > > ---------------------------------------------------------------------------- ---- _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From dvilla en gmx.net Tue Aug 12 13:25:25 2003 From: dvilla en gmx.net (dvilla en gmx.net) Date: Tue, 12 Aug 2003 13:25:25 +0200 Subject: ayuda con un problema de python In-Reply-To: <001601c360f6$b2852f40$c3b3ca51@Sonia> References: <001601c360f6$b2852f40$c3b3ca51@Sonia> Message-ID: <20030812132525.7b5ee019.dvilla@gmx.net> Hola Anjuta también es un buen editor para programar (también basado en Scintilla), tiene coloreado de sintaxis y te marca las tabulaciones, pero sin duda el mejor editor que existe (bajo mi punto de vista) para Python y en general para cualquier cosa es Emacs. En emacs el tabulado es automático y para hacerlo mal tienes que proponertelo de verdad. Saludos, El Tue, 12 Aug 2003 12:25:16 -0500 "Sonia" escribió: > los apuntes no se si te pareceran buenos para ti. pero para los enunciados q > ponen en el examen no valen casi de nada. en fin. algo es algo > > si tienes ejercicios de python resueltos sobre listas matrices y eso y no e > smucha molestia....me los podrias pasar > > el python q esta bien. es una version como el python idle 2.0 pero mas > 'bonita' > tb me marca donde esta el fallo del tabulador etc, pero en este caso no se > pq no esta bien tabulado, y asi no puedo seguir compilando y menos aun, > ejecutando! > > de todas maneras, gracias!! > > > > ----- Original Message ----- > From: David Asorey Álvarez > To: > Sent: Tuesday, August 12, 2003 5:20 AM > Subject: [Python-es] Re: ayuda con un problema de python > > > > Sonia: > > > > > metodologia y tecnologia de la programacion > > > > > > carrera de ingenieria informatica > > > no son para entregar ni nada. simplemente son enunciados q han > > > salido en examenes y quiero practicar > > > > > > el examen es de python y c > > > > ¿Es la que dan en la Jaume I? > > > > Los apuntes son buenísimos.(http://marmota.act.uji.es/MTP/teoria.shtml). > > > > Ójala hubiera encontrado profesor en s tan buenos cuando yo estudiaba :( > > > > > uanq la matriz la pido y en verdad kiero poner un ejemplo, al igual > > > q hago > > > en > > > las listas os agrego el programa 'completo' lo he compilado (gasto > > > > el > > > pythong) > > > pero me da errores de identacion en los fors y eso, y no se q pasa. > > > > > > No conozco el entorno de programación PythonG, pero te puedo > > recomendar un editor *muy* bueno para Python. > > > > Es el SciTE (Scintilla Text Editor). Está en > > http://www.scintilla.org/SciTEDownload.html > > > > Entre otras cosas, te señala los tabuladores y/o espacios en > > blanco, diferenciándolos, te pliega el cuerpo de las funciones dejando > > sólo visible la cabecera, y muchas otras características útiles para > > programar con Python. Cuando un programa en Python empieza a dar > > problemas con la indetación, es casi imprescindible usar este editor > > para ver qué está pasando. > > > > Edita tu programa con el SciTE y verás que probablemente tienes > > espacios en blanco mezclados con tabuladores, y por eso te falla. > > > > El editor que acompaña al entorno PythonWin > > (http://www.python.org/windows/pythonwin/) también hace todo ésto, > > pero me parece menos fiable. > > > > Python es muy estricto con esto. O todo blancos, o todo > > tabuladores, pero nunca los dos a la vez. > > > > Un saludo. > > > > > > -- > > David Asorey Álvarez > > forodejazz en yahoo.es > > http://www.geocities.com/forodejazz/programacion/ > > > > > > > > > ---------------------------------------------------------------------------- > ---- > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From notfound en notfound.org Tue Aug 12 13:32:13 2003 From: notfound en notfound.org (=?iso-8859-1?Q?C=E9sar?= Duque) Date: Tue, 12 Aug 2003 13:32:13 +0200 Subject: ayuda con un problema de python In-Reply-To: <20030812132525.7b5ee019.dvilla@gmx.net> References: <001601c360f6$b2852f40$c3b3ca51@Sonia> <001601c360f6$b2852f40$c3b3ca51@Sonia> Message-ID: <5.1.0.14.2.20030812133143.03de74a8@mail.notfound.org> Tambien está jedit... At 13:25 12/08/2003 +0200, you wrote: >Hola > >Anjuta también es un buen editor para programar (también basado en Scintilla), >tiene coloreado de sintaxis y te marca las tabulaciones, pero sin duda el >mejor >editor que existe (bajo mi punto de vista) para Python y en general para >cualquier cosa es Emacs. En emacs el tabulado es automático y para hacerlo mal >tienes que proponertelo de verdad. > >Saludos, > > >El Tue, 12 Aug 2003 12:25:16 -0500 >"Sonia" escribió: > > > los apuntes no se si te pareceran buenos para ti. pero para los > enunciados q > > ponen en el examen no valen casi de nada. en fin. algo es algo > > > > si tienes ejercicios de python resueltos sobre listas matrices y eso y no e > > smucha molestia....me los podrias pasar > > > > el python q esta bien. es una version como el python idle 2.0 pero mas > > 'bonita' > > tb me marca donde esta el fallo del tabulador etc, pero en este caso no se > > pq no esta bien tabulado, y asi no puedo seguir compilando y menos aun, > > ejecutando! > > > > de todas maneras, gracias!! > > > > > > > > ----- Original Message ----- > > From: David Asorey Álvarez > > To: > > Sent: Tuesday, August 12, 2003 5:20 AM > > Subject: [Python-es] Re: ayuda con un problema de python > > > > > > > Sonia: > > > > > > > metodologia y tecnologia de la programacion > > > > > > > > carrera de ingenieria informatica > > > > no son para entregar ni nada. simplemente son enunciados q han > > > > salido en examenes y quiero practicar > > > > > > > > el examen es de python y c > > > > > > ¿Es la que dan en la Jaume I? > > > > > > Los apuntes son buenísimos.(http://marmota.act.uji.es/MTP/teoria.shtml). > > > > > > Ójala hubiera encontrado profesor en s tan buenos cuando yo estudiaba :( > > > > > > > uanq la matriz la pido y en verdad kiero poner un ejemplo, al igual > > > > q hago > > > > en > > > > las listas os agrego el programa 'completo' lo he compilado (gasto > > > > > el > > > > pythong) > > > > pero me da errores de identacion en los fors y eso, y no se q pasa. > > > > > > > > > No conozco el entorno de programación PythonG, pero te puedo > > > recomendar un editor *muy* bueno para Python. > > > > > > Es el SciTE (Scintilla Text Editor). Está en > > > http://www.scintilla.org/SciTEDownload.html > > > > > > Entre otras cosas, te señala los tabuladores y/o espacios en > > > blanco, diferenciándolos, te pliega el cuerpo de las funciones dejando > > > sólo visible la cabecera, y muchas otras características útiles para > > > programar con Python. Cuando un programa en Python empieza a dar > > > problemas con la indetación, es casi imprescindible usar este editor > > > para ver qué está pasando. > > > > > > Edita tu programa con el SciTE y verás que probablemente tienes > > > espacios en blanco mezclados con tabuladores, y por eso te falla. > > > > > > El editor que acompaña al entorno PythonWin > > > (http://www.python.org/windows/pythonwin/) también hace todo ésto, > > > pero me parece menos fiable. > > > > > > Python es muy estricto con esto. O todo blancos, o todo > > > tabuladores, pero nunca los dos a la vez. > > > > > > Un saludo. > > > > > > > > > -- > > > David Asorey Álvarez > > > forodejazz en yahoo.es > > > http://www.geocities.com/forodejazz/programacion/ > > > > > > > > > > > > > > > > ---------------------------------------------------------------------------- > > ---- > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es -- "The din of a million keyboards like unto a great storm shall cover the earth, and the followers of Mammon shall tremble." from The Book of Mozilla, 3:31 # notfound en notfound.org # http://www.notfound.org From jcanto en hispasec.com Tue Aug 12 14:43:28 2003 From: jcanto en hispasec.com (Julio Canto) Date: Tue, 12 Aug 2003 13:43:28 +0100 Subject: ayuda con un problema de python References: <001601c360f6$b2852f40$c3b3ca51@Sonia> <001601c360f6$b2852f40$c3b3ca51@Sonia> <5.1.0.14.2.20030812133143.03de74a8@mail.notfound.org> Message-ID: <019301c360cf$552cec10$050010ac@vega700> Y SciTE, Crimson Editor, etc etc. El editor es casi lo de menos: a la hora de identar en python lo importante es marcarte una disciplina, pq si empiezas a mezclar, estas perdido (cosa que me paso el primer dia, yo muy acostumbrado a mis { } de C :') ----- Original Message ----- From: "César Duque" To: "La lista de python en castellano" Sent: Tuesday, August 12, 2003 12:32 PM Subject: Re: [Python-es] Re: ayuda con un problema de python Tambien está jedit... At 13:25 12/08/2003 +0200, you wrote: >Hola > >Anjuta también es un buen editor para programar (también basado en Scintilla), >tiene coloreado de sintaxis y te marca las tabulaciones, pero sin duda el >mejor >editor que existe (bajo mi punto de vista) para Python y en general para >cualquier cosa es Emacs. En emacs el tabulado es automático y para hacerlo mal >tienes que proponertelo de verdad. > >Saludos, > > >El Tue, 12 Aug 2003 12:25:16 -0500 >"Sonia" escribió: > > > los apuntes no se si te pareceran buenos para ti. pero para los > enunciados q > > ponen en el examen no valen casi de nada. en fin. algo es algo > > > > si tienes ejercicios de python resueltos sobre listas matrices y eso y no e > > smucha molestia....me los podrias pasar > > > > el python q esta bien. es una version como el python idle 2.0 pero mas > > 'bonita' > > tb me marca donde esta el fallo del tabulador etc, pero en este caso no se > > pq no esta bien tabulado, y asi no puedo seguir compilando y menos aun, > > ejecutando! > > > > de todas maneras, gracias!! From ch3m4 en ch3m4.org Tue Aug 12 14:04:37 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Tue, 12 Aug 2003 14:04:37 +0200 Subject: ayuda con un problema de python In-Reply-To: <008e01c3605c$ca0838a0$c3b3ca51@Sonia> References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia><20030810193921.GA13323@dimension-virtual.com><001801c3602e$539bfe00$c3b3ca51@Sonia> <008e01c3605c$ca0838a0$c3b3ca51@Sonia> Message-ID: Sonia escribió: > hola!! > creo q he mejorado el programa, intentado hacer el principal y todo, uanq la > matriz la pido y en verdad kiero poner un ejemplo, al igual q hago en las > listas > os agrego el programa 'completo' > lo he compilado (gasto el pythong) pero me da errores de identacion en los > fors y eso, y no se q pasa. yo creo q son asi > bueno si podeis me lo mirais y me corregiis lo q veais!! Bueno, vayamos por tramos, > #procedimiento q reciba como parametros la matriz, > #los 2 vectores nif y codigos, y el codigo de la > #asignatura, y muestre por pantalla el NIF de aquellos > #estudiantes q hayan obtenido en dicha asignatura una > #nota superior a la media de la asignatura. Para > #calcular la media unicamentese deben considerar las > #notas de los presentados al examen > from matrices import matriz > > def p1(nif, codigos,notas,codigo_asig): > #mira la posicion del codigo_asig en el vector codigos > #para saber la columna a recorrer en la matriz > cont=0 > for j in codigos: > if codigos[j]==codigo_asig: > posic=j #columna a recorrer Por ahora bien, aunque no estaría mal que cortaras el bucle cuando has encontrado el código (utiliza 'break') > media=0 > sum=0 > cont=0 > for i in range (0,len(nif)) and j==posic: ^^^ Esta construcción está mal. > #for j==posic: > if notas[i][j]>0: #no presentado y no presentado > cont=cont+1 #num de notas > sum=sum+notas[i][j] #suma todas las notas > media=sum/cont El bucle debería ser: for i in range(0,len(nif)): if notas[i][posic]>0: cont=cont+1 sum=sum+notas[i][posic] > #como se inicializaba el vector q creo?¿?¿?¿ > > for i in range(0,len(nif)) and j==posic: > #for j==posic: > if notas[i][j]>media[j]: > return nif[j] Aquí te pasa lo mismo con el bucle. Hay algunos fallos gordos: 'media' no es una matriz, el 'if' no contiene ninguna instrucción, el 'return' está mal identado y con errores,... Piensa un poco sobre lo que debería devolver esta función (un elemento, una lista, nada de nada,...). Si lees el enunciado, el procedimiento imprime la lista, y no tiene que devolver nada: for i in range(0,len(nif)): if notas[i][posic]>media: print nif[i] > #escribir un procedimiento q reciba como parametros > #la matriz de notas y el vector codigos, y muestre por > #pantalla el codigo de la asignatura q tiene mayor > #porcentaje de presentados respecto al total de los > #matriculados > > def p2(notas,codigos): > > #recorro la matriz y hago un vector q pondre el > #contador de cada columna cuando sean <> -1 > > for i in range(0,len(nif)): > for j in range(0,len(codigos)): > if notas[i][j]<> -1: > vcont[j]=vcont[j]+1 No has inicializado 'vcont'. La forma más fácil: vcont=[0]*len(codigos) El algoritmo lo tendrás que revisar, ya que así sólo obtienes el número de presentados en la asignatura. Necesitarás calcular el cociente entre presentados y matriculados. > #ver la posicion q tiene el maximo contador > max=0 > pos=0 > for i in range(0,len(vcont)): > if vcont[i]>max: > max=vcont[i] > pos=i > return codigo[pos] Cuida con las identaciones de los 'return'. Deben estar a la derecha del 'def' de la función que estás definiendo. > #supongo q ahora el programa principal solo sera > #inicializar todas las listas y matrices, no se si me > #faltara algo mas > > > #PROGRAMA PRINCIPAL > > > nif=["07525818J","18234590V","10437112X","21334801A"] > codigos=["IG20","IG02","IG03","IG04","J11"] > codigo_asig='IG02' > > n=int(raw_input('dime un numero: ')) > notas=matriz(n,n) > for i in range(0,n): > for j in range(0,n): > mat[i,j]=int(raw_input('valor de la matriz: ')) Ojo!, que las notas son números reales (float) y no enteros. > rdo1=p1(nif, codigos,notas,codigo_asig): > rdo2=p2(notas,codigos): > > print notas > print 'Estudiantes con nota superior a la media', rdo1 > print 'Asignatura con mayor porcentaje', rdo2 No te compliques, y mete estos print's dentro de las funciones. Se podría hacer que las funciones devolvieran listas, pero es algo que no te pide el problema. Cuando arregles tu código, te pondré mi solución ;-) Saludos, Chema From dvilla en gmx.net Tue Aug 12 14:05:58 2003 From: dvilla en gmx.net (dvilla en gmx.net) Date: Tue, 12 Aug 2003 14:05:58 +0200 Subject: ayuda con un problema de python In-Reply-To: <019301c360cf$552cec10$050010ac@vega700> References: <001601c360f6$b2852f40$c3b3ca51@Sonia> <001601c360f6$b2852f40$c3b3ca51@Sonia> <5.1.0.14.2.20030812133143.03de74a8@mail.notfound.org> <019301c360cf$552cec10$050010ac@vega700> Message-ID: <20030812140558.55c40755.dvilla@gmx.net> Evidentemente, me refiero a Emacs con el modo de Python. Con eso da igual que te marques una disciplina o no. Cuando te falte un ':' o estes indentando mal lo sabrás. Probadlo. Saludos, El Tue, 12 Aug 2003 13:43:28 +0100 "Julio Canto" escribió: > Y SciTE, Crimson Editor, etc etc. > El editor es casi lo de menos: a la hora de identar en python lo importante > es marcarte una disciplina, pq si empiezas a mezclar, estas perdido (cosa > que me paso el primer dia, yo muy acostumbrado a mis { } de C :') > > ----- Original Message ----- > From: "César Duque" > To: "La lista de python en castellano" > Sent: Tuesday, August 12, 2003 12:32 PM > Subject: Re: [Python-es] Re: ayuda con un problema de python > > > Tambien está jedit... > > At 13:25 12/08/2003 +0200, you wrote: > > >Hola > > > >Anjuta también es un buen editor para programar (también basado en > Scintilla), > >tiene coloreado de sintaxis y te marca las tabulaciones, pero sin duda el > >mejor > >editor que existe (bajo mi punto de vista) para Python y en general para > >cualquier cosa es Emacs. En emacs el tabulado es automático y para hacerlo > mal > >tienes que proponertelo de verdad. > > > >Saludos, > > > > > >El Tue, 12 Aug 2003 12:25:16 -0500 > >"Sonia" escribió: > > > > > los apuntes no se si te pareceran buenos para ti. pero para los > > enunciados q > > > ponen en el examen no valen casi de nada. en fin. algo es algo > > > > > > si tienes ejercicios de python resueltos sobre listas matrices y eso y > no e > > > smucha molestia....me los podrias pasar > > > > > > el python q esta bien. es una version como el python idle 2.0 pero mas > > > 'bonita' > > > tb me marca donde esta el fallo del tabulador etc, pero en este caso no > se > > > pq no esta bien tabulado, y asi no puedo seguir compilando y menos aun, > > > ejecutando! > > > > > > de todas maneras, gracias!! > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From siosss en ono.com Wed Aug 13 00:14:01 2003 From: siosss en ono.com (Sonia) Date: Tue, 12 Aug 2003 17:14:01 -0500 Subject: ayuda con un problema de python References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia><20030810193921.GA13323@dimension-virtual.com><001801c3602e$539bfe00$c3b3ca51@Sonia> <008e01c3605c$ca0838a0$c3b3ca51@Sonia> Message-ID: <000601c3611f$08c1b9a0$c3b3ca51@Sonia> a ver ahora q tal me sale el error de 'no module named matrices' y si kito esto: from matrices import matriz me pide ya el numero (aleluya!!!!) pero despues me dice q: la matriz no esta definida (in english) en esta linea: notas=matriz(n,n) bueno te dejo mi nuevo (y ultimo?¿?¿?¿) codigo!!! #procedimiento q reciba como parametros la matriz, #los 2 vectores nif y codigos, y el codigo de la #asignatura, y muestre por pantalla el NIF de aquellos #estudiantes q hayan obtenido en dicha asignatura una #nota superior a la media de la asignatura. Para #calcular la media unicamentese deben considerar las #notas de los presentados al examen from matrices import matriz def p1(nif, codigos,notas,codigo_asig): #mira la posicion del codigo_asig en el vector codigos #para saber la columna a recorrer en la matriz cont=0 for j in codigos: if codigos[j]==codigo_asig: posic=j #columna a recorrer media=0 sum=0 cont=0 for i in range (0,len(nif)): # ahora j es posic: if notas[i][posic]>0: #no presentado y no presentado cont=cont+1 #num de notas sum=sum+notas[i][posic] #suma todas las notas media=sum/cont #como se inicializaba el vector q creo?¿?¿?¿ for i in range(0,len(nif)) and j==posic: #for j==posic: if notas[i][j]>media: print nif[i] #lo de [j] spongo q sera error #escribir un procedimiento q reciba como parametros #la matriz de notas y el vector codigos, y muestre por #pantalla el codigo de la asignatura q tiene mayor #porcentaje de presentados respecto al total de los #matriculados def p2(notas,codigos): #recorro la matriz y hago un vector q pondre el #contador de cada columna cuando sean <> -1 vcont=[0]*len(codigos) vmatriculas=[0]*len(codigos) for i in range(0,len(nif)): for j in range(0,len(codigos)): if notas[i][j]<>-2: # matriculados vmatriculas=vmatriculas+1 if notas[i][j]<> -1: # presentados vcont[j]=vcont[j]+1 #ver la posicion q tiene el maximo contador max=0 pos=0 for i in range(0,len(vcont)): if vcont[i] / vmatriculas[i] >max: max=vcont[i] pos=i print codigo[pos] #PROGRAMA PRINCIPAL nif=["07525818J","18234590V","10437112X","21334801A"] codigos=["IG20","IG02","IG03","IG04","J11"] codigo_asig='IG02' n=float(raw_input('dime un numero: ')) notas=matriz(n,n) for i in range(0,n): for j in range(0,n): mat[i,j]=int(raw_input('valor de la matriz: ')) rdo1=p1(nif, codigos,notas,codigo_asig) rdo2=p2(notas,codigos) print notas print 'Estudiantes con nota superior a la media', rdo1 print 'Asignatura con mayor porcentaje', rdo2 ----- Original Message ----- From: Chema Cortés To: Sent: Tuesday, August 12, 2003 7:04 AM Subject: [Python-es] Re: ayuda con un problema de python > Sonia escribió: > > > hola!! > > creo q he mejorado el programa, intentado hacer el principal y todo, uanq la > > matriz la pido y en verdad kiero poner un ejemplo, al igual q hago en las > > listas > > os agrego el programa 'completo' > > lo he compilado (gasto el pythong) pero me da errores de identacion en los > > fors y eso, y no se q pasa. yo creo q son asi > > bueno si podeis me lo mirais y me corregiis lo q veais!! > > Bueno, vayamos por tramos, > > > #procedimiento q reciba como parametros la matriz, > > #los 2 vectores nif y codigos, y el codigo de la > > #asignatura, y muestre por pantalla el NIF de aquellos > > #estudiantes q hayan obtenido en dicha asignatura una > > #nota superior a la media de la asignatura. Para > > #calcular la media unicamentese deben considerar las > > #notas de los presentados al examen > > from matrices import matriz > > > > def p1(nif, codigos,notas,codigo_asig): > > #mira la posicion del codigo_asig en el vector codigos > > #para saber la columna a recorrer en la matriz > > cont=0 > > for j in codigos: > > if codigos[j]==codigo_asig: > > posic=j #columna a recorrer > > Por ahora bien, aunque no estaría mal que cortaras el bucle cuando has > encontrado el código (utiliza 'break') > > > media=0 > > sum=0 > > cont=0 > > for i in range (0,len(nif)) and j==posic: > ^^^ > Esta construcción está mal. > > > #for j==posic: > > if notas[i][j]>0: #no presentado y no presentado > > cont=cont+1 #num de notas > > sum=sum+notas[i][j] #suma todas las notas > > media=sum/cont > > El bucle debería ser: > > for i in range(0,len(nif)): > if notas[i][posic]>0: > cont=cont+1 > sum=sum+notas[i][posic] > > > #como se inicializaba el vector q creo?¿?¿?¿ > > > > for i in range(0,len(nif)) and j==posic: > > #for j==posic: > > if notas[i][j]>media[j]: > > return nif[j] > > Aquí te pasa lo mismo con el bucle. Hay algunos fallos gordos: 'media' > no es una matriz, el 'if' no contiene ninguna instrucción, el 'return' > está mal identado y con errores,... > > Piensa un poco sobre lo que debería devolver esta función (un elemento, > una lista, nada de nada,...). Si lees el enunciado, el procedimiento > imprime la lista, y no tiene que devolver nada: > > for i in range(0,len(nif)): > if notas[i][posic]>media: > print nif[i] > > > #escribir un procedimiento q reciba como parametros > > #la matriz de notas y el vector codigos, y muestre por > > #pantalla el codigo de la asignatura q tiene mayor > > #porcentaje de presentados respecto al total de los > > #matriculados > > > > def p2(notas,codigos): > > > > #recorro la matriz y hago un vector q pondre el > > #contador de cada columna cuando sean <> -1 > > > > for i in range(0,len(nif)): > > for j in range(0,len(codigos)): > > if notas[i][j]<> -1: > > vcont[j]=vcont[j]+1 > > No has inicializado 'vcont'. La forma más fácil: > > vcont=[0]*len(codigos) > > El algoritmo lo tendrás que revisar, ya que así sólo obtienes el número > de presentados en la asignatura. Necesitarás calcular el cociente entre > presentados y matriculados. > > > #ver la posicion q tiene el maximo contador > > max=0 > > pos=0 > > for i in range(0,len(vcont)): > > if vcont[i]>max: > > max=vcont[i] > > pos=i > > return codigo[pos] > > Cuida con las identaciones de los 'return'. Deben estar a la derecha del > 'def' de la función que estás definiendo. > > > #supongo q ahora el programa principal solo sera > > #inicializar todas las listas y matrices, no se si me > > #faltara algo mas > > > > > > #PROGRAMA PRINCIPAL > > > > > > nif=["07525818J","18234590V","10437112X","21334801A"] > > codigos=["IG20","IG02","IG03","IG04","J11"] > > codigo_asig='IG02' > > > > n=int(raw_input('dime un numero: ')) > > notas=matriz(n,n) > > for i in range(0,n): > > for j in range(0,n): > > mat[i,j]=int(raw_input('valor de la matriz: ')) > > Ojo!, que las notas son números reales (float) y no enteros. > > > rdo1=p1(nif, codigos,notas,codigo_asig): > > rdo2=p2(notas,codigos): > > > > print notas > > print 'Estudiantes con nota superior a la media', rdo1 > > print 'Asignatura con mayor porcentaje', rdo2 > > No te compliques, y mete estos print's dentro de las funciones. Se > podría hacer que las funciones devolvieran listas, pero es algo que no > te pide el problema. > > Cuando arregles tu código, te pondré mi solución ;-) > > > Saludos, > Chema > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From aerd en retemail.es Tue Aug 12 17:33:38 2003 From: aerd en retemail.es (Ernesto Revilla) Date: Tue, 12 Aug 2003 17:33:38 +0200 Subject: Python en red References: <20030812060701.39430.qmail@web80503.mail.yahoo.com> <200308120621.02864.rvr@infoastro.com> Message-ID: <007001c360f1$b20f5540$0100a8c0@servidor> Sobre XML-RPC, estoy escribiendo para HispaLinux un taller sobre Web Services. La parte XML-RPC está casi terminada, falta el resto (SOAP, WSDL e UDDI) :-(( Si queréis echarle un vistazo...(todavía está en formato Word): http://www.sicem.biz/documentos/WebServicesPython.doc (si entráis mediente I.E. y pregunta por contraseña, cancelar, esto es un bug del Word 2K que intenta bloquearlo mediante WebDAV.) Erny ----- Original Message ----- From: "Victor R. Ruiz" To: "La lista de python en castellano" Sent: Tuesday, August 12, 2003 6:21 AM Subject: Re: [Python-es] Python en red > > Hola: > > El Martes, 12 de Agosto de 2003 08:07, Luis Iglesias tecleó: > > Pyro sería equivalente a rmi en java ya que, que yo sepa, no puedes > > acceder a un servidor rmi si no es con java. xmlrpc, que creo que viene > > ya con python de serie, es un protocolo de aplicaciones distribuidas > > basado en xml que tiene implementaciones en muchos lenguajes y > > Pero cuidado, porque XML-RPC es sólo para llamada remotas a funciones, no > para creación de objetos persistentes. > > Saludetes, > > -- > Víctor R. Ruiz | - Todos estos momentos se perderán > Centro de Astrobiología INTA/CSIC | como lágrimas en la lluvia > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From lorenahr23 en yahoo.com.ar Tue Aug 12 20:59:01 2003 From: lorenahr23 en yahoo.com.ar (=?iso-8859-1?q?DIANA=20LORENA=20HERRERA=20RODRIGUEZ?=) Date: Tue, 12 Aug 2003 15:59:01 -0300 (ART) Subject: python en knoppix Message-ID: <20030812185901.30317.qmail@web20705.mail.yahoo.com> amigos soy nueva usando linux me podrian indicar como uso el python en knppix --------------------------------- Internet GRATIS es Yahoo! Conexión. Usuario: yahoo; contraseña: yahoo Desde Buenos Aires: 4004-1010 Más ciudades: clic aquí. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rvr en infoastro.com Wed Aug 13 06:19:50 2003 From: rvr en infoastro.com (Victor R. Ruiz) Date: Wed, 13 Aug 2003 06:19:50 +0200 Subject: Python en red In-Reply-To: <007001c360f1$b20f5540$0100a8c0@servidor> References: <20030812060701.39430.qmail@web80503.mail.yahoo.com> <200308120621.02864.rvr@infoastro.com> <007001c360f1$b20f5540$0100a8c0@servidor> Message-ID: <200308130619.50318.rvr@infoastro.com> Hola: El Martes, 12 de Agosto de 2003 17:33, Ernesto Revilla tecleó: > http://www.sicem.biz/documentos/WebServicesPython.doc ¿Podrías ponerlo en HTML? Es que lo del .doc me da repelús ;) Saludetes, -- Víctor R. Ruiz | - Todos estos momentos se perderán Centro de Astrobiología INTA/CSIC | como lágrimas en la lluvia From juanbarod en yahoo.es Wed Aug 13 08:15:30 2003 From: juanbarod en yahoo.es (=?iso-8859-1?q?Juan=20Manuel=20Rodr=EDguez?=) Date: Wed, 13 Aug 2003 08:15:30 +0200 (CEST) Subject: ayuda con un problema de python (Sonia) In-Reply-To: <20030812081458.21D8A103C966@devnull.aditel.org> References: <20030812081458.21D8A103C966@devnull.aditel.org> Message-ID: <20030813061530.81303.qmail@web40805.mail.yahoo.com> No debes indentar después de una línea de comentario, aunque lo comentado sea un 'for': > for i in range (0,len(nif)) and j==posic: > #for j==posic: > if notas[i][j]>0: #no presentado y no > Como editor, sin duda, SciTE (claro que sobre gustos...) Saludos. Juanma. ___________________________________________________ Yahoo! Messenger - Nueva versión GRATIS Super Webcam, voz, caritas animadas, y más... http://messenger.yahoo.es From rapto en arrakis.es Wed Aug 13 09:57:03 2003 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Wed, 13 Aug 2003 09:57:03 +0200 Subject: python en knoppix In-Reply-To: <20030812185901.30317.qmail@web20705.mail.yahoo.com> References: <20030812185901.30317.qmail@web20705.mail.yahoo.com> Message-ID: <3F39EF4F.3070103@arrakis.es> DIANA LORENA HERRERA RODRIGUEZ wrote: > amigos soy nueva usando linux me podrian indicar como uso el python en > knppix > > Pues hay dos posibilidades: O está instalado o no. Abres una consola. Escribes python Si te responde Python 2.1.3 (#1, Sep 7 2002, 15:29:56) [GCC 2.95.4 20011002 (Debian prerelease)] on linux2 Type "copyright", "credits" or "license" for more information. >>> o parecido, estás en el intérprete. Lo que no recuerdo es qué editores de programas tre knoppix. Si te responde bash: python: command not found Es que no está instalado y no tiene un remedio sencillo. From rapto en arrakis.es Wed Aug 13 10:20:15 2003 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Wed, 13 Aug 2003 10:20:15 +0200 Subject: Python en red In-Reply-To: <200308130619.50318.rvr@infoastro.com> References: <20030812060701.39430.qmail@web80503.mail.yahoo.com> <200308120621.02864.rvr@infoastro.com> <007001c360f1$b20f5540$0100a8c0@servidor> <200308130619.50318.rvr@infoastro.com> Message-ID: <3F39F4BF.1060804@arrakis.es> Victor R. Ruiz wrote: > Hola: > > El Martes, 12 de Agosto de 2003 17:33, Ernesto Revilla tecleó: > >>http://www.sicem.biz/documentos/WebServicesPython.doc > > > ¿Podrías ponerlo en HTML? Es que lo del .doc me da repelús ;) > > Saludetes, > Va en pdf http://burke.ath.cx/~marcos/webServPy.pdf From ch3m4 en ch3m4.org Wed Aug 13 10:22:49 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Wed, 13 Aug 2003 10:22:49 +0200 Subject: ayuda con un problema de python In-Reply-To: <000601c3611f$08c1b9a0$c3b3ca51@Sonia> References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia><20030810193921.GA13323@dimension-virtual.com><001801c3602e$539bfe00$c3b3ca51@Sonia> <008e01c3605c$ca0838a0$c3b3ca51@Sonia> <000601c3611f$08c1b9a0$c3b3ca51@Sonia> Message-ID: Sonia escribió: > a ver ahora q tal > > me sale el error de > 'no module named matrices' > y si kito esto: from matrices import matriz > me pide ya el numero (aleluya!!!!) > pero despues me dice q: la matriz no esta definida (in english) > en esta linea: notas=matriz(n,n) No conozco ningún módulo 'matrices' en la librería estándar del python. Tú sabrás qué hacía este import, pero no necesitas nada más para utilizar listas y matrices. Considera que la matriz que vas a utilizar no tiene por qué ser cuadrada (o sea, n x n). Por ejemplo, para inicializar una matriz de n x m se haría: a=[] for i in range(n): a.append([0.0]*m) Con compresión de listas: a=[[0.0]*m for i in range(n)] Y ojo, esto que pongo a continuación sería erróneo: a=[[0.0]*m]*n Te recomiendo que releas el capítulo dedicado a matrices de la "Introducción a la programación con python y C" de Andrés Marzal e Isabel Gracia. > bueno te dejo mi nuevo (y ultimo?¿?¿?¿) codigo!!! Intenta probar mejor el código antes de enviarlo. Hay errores que deberías detectar fácilmente. Por lo general, el código ha mejorado mucho: > #procedimiento q reciba como parametros la matriz, > #los 2 vectores nif y codigos, y el codigo de la > #asignatura, y muestre por pantalla el NIF de aquellos > #estudiantes q hayan obtenido en dicha asignatura una > #nota superior a la media de la asignatura. Para > #calcular la media unicamentese deben considerar las > #notas de los presentados al examen > from matrices import matriz > > def p1(nif, codigos,notas,codigo_asig): > #mira la posicion del codigo_asig en el vector codigos > #para saber la columna a recorrer en la matriz > cont=0 > for j in codigos: > if codigos[j]==codigo_asig: > posic=j #columna a recorrer Te falta poner un 'break' para terminar el bucle una vez encontrada la posición (es algo opcional, pero queda mejor). > > media=0 > sum=0 > cont=0 Es la segunda vez que inicializas 'cont' > for i in range (0,len(nif)): > # ahora j es posic: > if notas[i][posic]>0: #no presentado y no presentado > cont=cont+1 #num de notas > sum=sum+notas[i][posic] #suma todas las notas > media=sum/cont > > #como se inicializaba el vector q creo?¿?¿?¿ > > for i in range(0,len(nif)) and j==posic: ^^^ Este 'for' no está bien construído (no lo has arreglado). > #for j==posic: > if notas[i][j]>media: > print nif[i] #lo de [j] spongo q sera error En lugar de 'j' utiliza 'posic', que ya lo tenías calculado (mira el código que te había mandado). > #escribir un procedimiento q reciba como parametros > #la matriz de notas y el vector codigos, y muestre por > #pantalla el codigo de la asignatura q tiene mayor > #porcentaje de presentados respecto al total de los > #matriculados > > def p2(notas,codigos): > > #recorro la matriz y hago un vector q pondre el > #contador de cada columna cuando sean <> -1 > > vcont=[0]*len(codigos) > vmatriculas=[0]*len(codigos) > > > for i in range(0,len(nif)): > for j in range(0,len(codigos)): > if notas[i][j]<>-2: # matriculados > vmatriculas=vmatriculas+1 Te has dejado de poner el índice de vmatriculas > if notas[i][j]<> -1: # presentados > vcont[j]=vcont[j]+1 Este 'if' está mal identado. Debería estar al mismo nivel que el otro if. > #ver la posicion q tiene el maximo contador > max=0 > pos=0 > for i in range(0,len(vcont)): > if vcont[i] / vmatriculas[i] >max: > max=vcont[i] 'max' debería ser el cociente 'vcont[i]/vmatriculas[i]' No te aconsejo que utilices 'max' como nombre de variable. 'max()' es una función de python que, por cierto, sirve para obtener máximos en una lista. Otro problema, más escondido, pero muy importante es que cuando divides enteros te da como resultado un entero, cosa que produce errores de cálculo 1/2 --> 0 Tienes que convertir a 'float' antes de hacer la división: maximo = float(vcont[i])/float(vmatriculas[i]) > pos=i > print codigo[pos] > > > #PROGRAMA PRINCIPAL > > > nif=["07525818J","18234590V","10437112X","21334801A"] > codigos=["IG20","IG02","IG03","IG04","J11"] > codigo_asig='IG02' > > n=float(raw_input('dime un numero: ')) > notas=matriz(n,n) > for i in range(0,n): > for j in range(0,n): > mat[i,j]=int(raw_input('valor de la matriz: ')) ^^^ Era aquí donde debías haber puesto 'float', no en el anterior input. > > rdo1=p1(nif, codigos,notas,codigo_asig) > rdo2=p2(notas,codigos) > > print notas > print 'Estudiantes con nota superior a la media', rdo1 > print 'Asignatura con mayor porcentaje', rdo2 Este codigo no tiene ya sentido. p1() y p2() no devuelven nada, y los prints se hacen dentro de las dos funciones. From ch3m4 en ch3m4.org Wed Aug 13 10:28:57 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Wed, 13 Aug 2003 10:28:57 +0200 Subject: ayuda con un problema de python In-Reply-To: References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia><20030810193921.GA13323@dimension-virtual.com><001801c3602e$539bfe00$c3b3ca51@Sonia> <008e01c3605c$ca0838a0$c3b3ca51@Sonia> <000601c3611f$08c1b9a0$c3b3ca51@Sonia> Message-ID: Chema Cortés escribió: >> for i in range(0,len(nif)): >> for j in range(0,len(codigos)): >> if notas[i][j]<>-2: # matriculados >> vmatriculas=vmatriculas+1 > > > Te has dejado de poner el índice de vmatriculas > >> if notas[i][j]<> -1: # presentados >> vcont[j]=vcont[j]+1 > > > Este 'if' está mal identado. Debería estar al mismo nivel que el otro if. Perdón, este 'if' estaba bien identado. :-( From siosss en ono.com Wed Aug 13 17:35:03 2003 From: siosss en ono.com (Sonia) Date: Wed, 13 Aug 2003 10:35:03 -0500 Subject: ayuda con un problema de python References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia><20030810193921.GA13323@dimension-virtual.com><001801c3602e$539bfe00$c3b3ca51@Sonia><008e01c3605c$ca0838a0$c3b3ca51@Sonia> <000601c3611f$08c1b9a0$c3b3ca51@Sonia> Message-ID: <009001c361b0$772a38e0$c3b3ca51@Sonia> ok! ahora lo remiro todo otra vez y a ver si esta ya es la definitiva!! gracias!!! ----- Original Message ----- From: Chema Cortés To: Sent: Wednesday, August 13, 2003 3:28 AM Subject: [Python-es] Re: ayuda con un problema de python > Chema Cortés escribió: > > >> for i in range(0,len(nif)): > >> for j in range(0,len(codigos)): > >> if notas[i][j]<>-2: # matriculados > >> vmatriculas=vmatriculas+1 > > > > > > Te has dejado de poner el índice de vmatriculas > > > >> if notas[i][j]<> -1: # presentados > >> vcont[j]=vcont[j]+1 > > > > > > Este 'if' está mal identado. Debería estar al mismo nivel que el otro if. > > Perdón, este 'if' estaba bien identado. :-( > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From ch3m4 en ch3m4.org Wed Aug 13 10:46:59 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Wed, 13 Aug 2003 10:46:59 +0200 Subject: python en knoppix In-Reply-To: <3F39EF4F.3070103@arrakis.es> References: <20030812185901.30317.qmail@web20705.mail.yahoo.com> <3F39EF4F.3070103@arrakis.es> Message-ID: Marcos Sánchez Provencio escribió: > DIANA LORENA HERRERA RODRIGUEZ wrote: > >> amigos soy nueva usando linux me podrian indicar como uso el python en >> knppix >> >> > > Pues hay dos posibilidades: O está instalado o no. Está instalado. De hecho lo necesita. > Abres una consola. > Escribes python > Si te responde > > Python 2.1.3 (#1, Sep 7 2002, 15:29:56) > [GCC 2.95.4 20011002 (Debian prerelease)] on linux2 > Type "copyright", "credits" or "license" for more information. > >>> > o parecido, estás en el intérprete. Lo que no recuerdo es qué editores > de programas tre knoppix. Siendo KDE el interface gráfico, lo mejor es utilizar el 'kate'. Se puede tener simultáneamente dos paneles, uno con el editor y otro con la cónsola. Posee un plugin de python para mostrar jerarquías de objetos. Dentro de augustux (www.augustux.org), una distribución basada en knoppix, se especuló con la posibilidad de crear una DVD para la enseñanza de python. En estos momentos, está todo pendiente de la integración de todo el proyecto en metadistros. From siosss en ono.com Wed Aug 13 18:07:12 2003 From: siosss en ono.com (Sonia) Date: Wed, 13 Aug 2003 11:07:12 -0500 Subject: ayuda con un problema de python References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia><20030810193921.GA13323@dimension-virtual.com><001801c3602e$539bfe00$c3b3ca51@Sonia><008e01c3605c$ca0838a0$c3b3ca51@Sonia> <000601c3611f$08c1b9a0$c3b3ca51@Sonia> Message-ID: <00a301c361b4$f50726c0$c3b3ca51@Sonia> hola! supongo q el codigo ya esta correcto . ahora mi duda es en el programa principal. al ejecutarlo me pidde el numero y despues dme dice q 'm' no esta definida en aki: notas=[] n=int(raw_input('dime un numero: ')) for i in range(n): notas.append([0.0]*m) despues en el principal, como me has dicho q lo de rdo1, y rdo2 no tenia sentido. los prints estan dentro de las funciones, pero q tengo q poner en el principal para llamarlos. #PROGRAMA PRINCIPAL nif=["07525818J","18234590V","10437112X","21334801A"] codigos=["IG20","IG02","IG03","IG04","J11"] codigo_asig='IG02' #inicializo la matriz notas=[] n=int(raw_input('dime un numero: ')) for i in range(n): notas.append([0.0]*m) for i in range(0,n): for j in range(0,n): mat[i,j]=float(raw_input('valor de la matriz: ')) print notas #print 'Estudiantes con nota superior a la media', rdo1 #print 'Asignatura con mayor porcentaje', rdo2 bueno, te vuelvo a mandar el codigo completo, por si acaso! a ver siya sale x fin!!! gracias de nuevo!!! #procedimiento q reciba como parametros la matriz, #los 2 vectores nif y codigos, y el codigo de la #asignatura, y muestre por pantalla el NIF de aquellos #estudiantes q hayan obtenido en dicha asignatura una #nota superior a la media de la asignatura. Para #calcular la media unicamentese deben considerar las #notas de los presentados al examen def p1(nif, codigos,notas,codigo_asig): #mira la posicion del codigo_asig en el vector codigos #para saber la columna a recorrer en la matriz cont=0 for j in codigos: if codigos[j]==codigo_asig: posic=j #columna a recorrer media=0 sum=0 for i in range (0,len(nif)): # ahora j es posic: if notas[i][posic]>0: #no presentado y no presentado cont=cont+1 #num de notas sum=sum+notas[i][posic] #suma todas las notas media=sum/cont for i in range(0,len(nif)): if notas[i][posic]>media: print nif[i] #escribir un procedimiento q reciba como parametros #la matriz de notas y el vector codigos, y muestre por #pantalla el codigo de la asignatura q tiene mayor #porcentaje de presentados respecto al total de los #matriculados def p2(notas,codigos): #recorro la matriz y hago un vector q pondre el #contador de cada columna cuando sean <> -1 vcont=[0]*len(codigos) vmatriculas=[0]*len(codigos) for i in range(0,len(nif)): for j in range(0,len(codigos)): if notas[i][j]<>-2: # matriculados vmatriculas[j]=vmatriculas[j]+1 if notas[i][j]<> -1: # presentados vcont[j]=vcont[j]+1 #ver la posicion q tiene el maximo contador maxi=0 pos=0 for i in range(0,len(vcont)): if vcont[i] / vmatriculas[i] >maxi: maxi=vcont[i] #no pongo el cociente pq como maximo, #para el resultado solo kiero el codigo de la asignatura , no?? pos=i print codigo[pos] #PROGRAMA PRINCIPAL nif=["07525818J","18234590V","10437112X","21334801A"] codigos=["IG20","IG02","IG03","IG04","J11"] codigo_asig='IG02' #inicializo la matriz notas=[] n=int(raw_input('dime un numero: ')) for i in range(n): notas.append([0.0]*m) for i in range(0,n): for j in range(0,n): mat[i,j]=float(raw_input('valor de la matriz: ')) print notas #print 'Estudiantes con nota superior a la media', rdo1 #print 'Asignatura con mayor porcentaje', rdo2 ----- Original Message ----- From: Chema Cortés To: Sent: Wednesday, August 13, 2003 3:28 AM Subject: [Python-es] Re: ayuda con un problema de python > Chema Cortés escribió: > > >> for i in range(0,len(nif)): > >> for j in range(0,len(codigos)): > >> if notas[i][j]<>-2: # matriculados > >> vmatriculas=vmatriculas+1 > > > > > > Te has dejado de poner el índice de vmatriculas > > > >> if notas[i][j]<> -1: # presentados > >> vcont[j]=vcont[j]+1 > > > > > > Este 'if' está mal identado. Debería estar al mismo nivel que el otro if. > > Perdón, este 'if' estaba bien identado. :-( > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From ch3m4 en ch3m4.org Wed Aug 13 12:09:12 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Wed, 13 Aug 2003 12:09:12 +0200 Subject: ayuda con un problema de python In-Reply-To: <00a301c361b4$f50726c0$c3b3ca51@Sonia> References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia><20030810193921.GA13323@dimension-virtual.com><001801c3602e$539bfe00$c3b3ca51@Sonia><008e01c3605c$ca0838a0$c3b3ca51@Sonia> <000601c3611f$08c1b9a0$c3b3ca51@Sonia> <00a301c361b4$f50726c0$c3b3ca51@Sonia> Message-ID: Sonia escribió: > hola! > supongo q el codigo ya esta correcto . ahora mi duda es en el programa > principal. > al ejecutarlo me pidde el numero y despues dme dice q 'm' no esta definida > en aki: > > notas=[] > n=int(raw_input('dime un numero: ')) > for i in range(n): > notas.append([0.0]*m) Simplemente resulta que necesitas dos dimensiones para tu matriz. Por un lado el número de alumnos, y por otro el número de asignaturas. n=int(raw_input('Número de alumnos: ')) m=int(raw_input('Número de asignaturas: ')) notas=[] for i in range(n): notas.append([0.0]*m) for i in range(0,n): for j in range(0,m): # <--- cambiado n por m mat[i,j]=float(raw_input('valor de la matriz: ')) > despues en el principal, como me has dicho q lo de rdo1, y rdo2 no tenia > sentido. los prints estan dentro de las funciones, pero q tengo q poner en > el principal para llamarlos. Invocas las dos funciones, sin nada más: p1(nif, codigos,notas,codigo_asig) p2(notas,codigos) > bueno, te vuelvo a mandar el codigo completo, por si acaso! > a ver siya sale x fin!!! > gracias de nuevo!!! Creo que casi lo tienes. > #ver la posicion q tiene el maximo contador > maxi=0 > pos=0 > for i in range(0,len(vcont)): > if vcont[i] / vmatriculas[i] >maxi: > maxi=vcont[i] > #no pongo el cociente pq como maximo, > #para el resultado solo kiero el codigo de la asignatura , no?? > > pos=i > print codigo[pos] No has dado con el algoritmo. Tienes que hallar la asignatura con la mayor "proporción entre matriculados y presentados". Te pongo un ejemplo para que lo entiendas mejor: Asignatura1: 3 matriculados y 2 presentados Asignatura2: 5 matriculados y 3 presentados Para la primera, la proporción sería 2/3==0.6666 Para la segunda, 3/5==0.6000 En proporción, la primera asignatura tiene más presentados que la segunda. Y te insisto en que las divisiones de enteros sólo dan enteros. Debes convertirlos a 'float': proporcion=float(vcont[i])/float(vmatriculas[i]) if proporcion>maxi: maxi=proporcion pos=i From siosss en ono.com Wed Aug 13 19:36:35 2003 From: siosss en ono.com (Sonia) Date: Wed, 13 Aug 2003 12:36:35 -0500 Subject: ayuda con un problema de python References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia><20030810193921.GA13323@dimension-virtual.com><001801c3602e$539bfe00$c3b3ca51@Sonia><008e01c3605c$ca0838a0$c3b3ca51@Sonia><000601c3611f$08c1b9a0$c3b3ca51@Sonia> <00a301c361b4$f50726c0$c3b3ca51@Sonia> Message-ID: <000601c361c1$71d6f0c0$c3b3ca51@Sonia> solo una cosa al introducir los valores de la matriz me sale un error en esta linea: notas[i,j]=float(raw_input('Valor de la matriz: ')) y me dice q: 'sequence index must be integer' pero la matriz esta delcarada como float!! eso pq es?? creo q lo otro ya estara bien te paso el principal: #PROGRAMA PRINCIPAL nif=["07525818J","18234590V","10437112X","21334801A"] codigos=["IG20","IG02","IG03","IG04","J11"] codigo_asig='IG02' n=int(raw_input('Introduce el numero de alumnos: ')) m=int(raw_input('Introduce el numero de asignaturas:')) notas=[] for i in range(n): notas.append([0.0]*m) for i in range(0,n): for j in range(0,m): notas[i,j]=float(raw_input('Valor de la matriz: ')) print notas p1(nif, codigos,notas,codigo_asig) p2(notas,codigos) ----- Original Message ----- From: Chema Cortés To: Sent: Wednesday, August 13, 2003 5:09 AM Subject: [Python-es] Re: ayuda con un problema de python > Sonia escribió: > > hola! > > supongo q el codigo ya esta correcto . ahora mi duda es en el programa > > principal. > > al ejecutarlo me pidde el numero y despues dme dice q 'm' no esta definida > > en aki: > > > > notas=[] > > n=int(raw_input('dime un numero: ')) > > for i in range(n): > > notas.append([0.0]*m) > > Simplemente resulta que necesitas dos dimensiones para tu matriz. Por un > lado el número de alumnos, y por otro el número de asignaturas. > > n=int(raw_input('Número de alumnos: ')) > m=int(raw_input('Número de asignaturas: ')) > notas=[] > for i in range(n): > notas.append([0.0]*m) > for i in range(0,n): > for j in range(0,m): # <--- cambiado n por m > mat[i,j]=float(raw_input('valor de la matriz: ')) > > > despues en el principal, como me has dicho q lo de rdo1, y rdo2 no tenia > > sentido. los prints estan dentro de las funciones, pero q tengo q poner en > > el principal para llamarlos. > > Invocas las dos funciones, sin nada más: > > p1(nif, codigos,notas,codigo_asig) > p2(notas,codigos) > > > > bueno, te vuelvo a mandar el codigo completo, por si acaso! > > a ver siya sale x fin!!! > > gracias de nuevo!!! > > Creo que casi lo tienes. > > > #ver la posicion q tiene el maximo contador > > maxi=0 > > pos=0 > > for i in range(0,len(vcont)): > > if vcont[i] / vmatriculas[i] >maxi: > > maxi=vcont[i] > > #no pongo el cociente pq como maximo, > > #para el resultado solo kiero el codigo de la asignatura , no?? > > > > pos=i > > print codigo[pos] > > No has dado con el algoritmo. Tienes que hallar la asignatura con la > mayor "proporción entre matriculados y presentados". > > Te pongo un ejemplo para que lo entiendas mejor: > > Asignatura1: 3 matriculados y 2 presentados > Asignatura2: 5 matriculados y 3 presentados > > Para la primera, la proporción sería 2/3==0.6666 > Para la segunda, 3/5==0.6000 > > En proporción, la primera asignatura tiene más presentados que la segunda. > > Y te insisto en que las divisiones de enteros sólo dan enteros. Debes > convertirlos a 'float': > > proporcion=float(vcont[i])/float(vmatriculas[i]) > if proporcion>maxi: > maxi=proporcion > pos=i > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From aerd en retemail.es Wed Aug 13 12:48:06 2003 From: aerd en retemail.es (Ernesto Revilla) Date: Wed, 13 Aug 2003 12:48:06 +0200 Subject: python en knoppix References: <20030812185901.30317.qmail@web20705.mail.yahoo.com><3F39EF4F.3070103@arrakis.es> Message-ID: <003001c3618d$275b3e40$0100a8c0@servidor> Por cierto, para usar Python 2.2 que tiene algunas cosas nuevas, en especial, la unificación de tipos y clases, tienes que usar: python2.2 probado con la Knoppix 3.2 castellano. Erny ----- Original Message ----- From: "Chema Cortés" To: Sent: Wednesday, August 13, 2003 10:46 AM Subject: [Python-es] Re: python en knoppix > Marcos Sánchez Provencio escribió: > > DIANA LORENA HERRERA RODRIGUEZ wrote: > > > >> amigos soy nueva usando linux me podrian indicar como uso el python en > >> knppix > >> > >> > > > > Pues hay dos posibilidades: O está instalado o no. > > Está instalado. De hecho lo necesita. > > > Abres una consola. > > Escribes python > > Si te responde > > > > Python 2.1.3 (#1, Sep 7 2002, 15:29:56) > > [GCC 2.95.4 20011002 (Debian prerelease)] on linux2 > > Type "copyright", "credits" or "license" for more information. > > >>> > > o parecido, estás en el intérprete. Lo que no recuerdo es qué editores > > de programas tre knoppix. > > Siendo KDE el interface gráfico, lo mejor es utilizar el 'kate'. Se > puede tener simultáneamente dos paneles, uno con el editor y otro con la > cónsola. Posee un plugin de python para mostrar jerarquías de objetos. > > Dentro de augustux (www.augustux.org), una distribución basada en > knoppix, se especuló con la posibilidad de crear una DVD para la > enseñanza de python. En estos momentos, está todo pendiente de la > integración de todo el proyecto en metadistros. > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From ch3m4 en ch3m4.org Wed Aug 13 13:18:54 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Wed, 13 Aug 2003 13:18:54 +0200 Subject: ayuda con un problema de python In-Reply-To: <000601c361c1$71d6f0c0$c3b3ca51@Sonia> References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia><20030810193921.GA13323@dimension-virtual.com><001801c3602e$539bfe00$c3b3ca51@Sonia><008e01c3605c$ca0838a0$c3b3ca51@Sonia><000601c3611f$08c1b9a0$c3b3ca51@Sonia> <00a301c361b4$f50726c0$c3b3ca51@Sonia> <000601c361c1$71d6f0c0$c3b3ca51@Sonia> Message-ID: Sonia escribió: > solo una cosa > > al introducir los valores de la matriz me sale un error en esta linea: > > notas[i,j]=float(raw_input('Valor de la matriz: ')) > > y me dice q: 'sequence index must be integer' > > pero la matriz esta delcarada como float!! > eso pq es?? Deberías haber puesto: notas[i][j]=float(raw_input('Valor de la matriz: ')) Cuando pones dos objetos separados por una coma i , j estás declarando implícitamente una tupla (i,j), aunque no hayas puesto los paréntesis. De ahí el error, que no acepta tuplas como índice de secuencias. From siosss en ono.com Wed Aug 13 20:37:14 2003 From: siosss en ono.com (Sonia) Date: Wed, 13 Aug 2003 13:37:14 -0500 Subject: ayuda con un problema de python References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia><20030810193921.GA13323@dimension-virtual.com><001801c3602e$539bfe00$c3b3ca51@Sonia><008e01c3605c$ca0838a0$c3b3ca51@Sonia><000601c3611f$08c1b9a0$c3b3ca51@Sonia><00a301c361b4$f50726c0$c3b3ca51@Sonia> <000601c361c1$71d6f0c0$c3b3ca51@Sonia> Message-ID: <001701c361c9$ea7a24e0$c3b3ca51@Sonia> ahora ya me deja introducir toda la matriz, pero despues me da el mismo error de q debe de ser entero en el 1er procedimiento. justo en esta linea: if codigos[j]==codigo_asig: q pertenece a este procedimiento: def p1(nif, codigos,notas,codigo_asig): #mira la posicion del codigo_asig en el vector codigos #para saber la columna a recorrer en la matriz cont=0 for j in codigos: if codigos[j]==codigo_asig: posic=j #columna a recorrer media=0 sum=0 for i in range (0,len(nif)): # ahora j es posic: if notas[i][posic]>0: #no presentado y no presentado cont=cont+1 #num de notas sum=sum+notas[i][posic] #suma todas las notas media=sum/cont for i in range(0,len(nif)): if notas[i][posic]>media: print nif[i] programa pal: #PROGRAMA PRINCIPAL nif=["07525818J","18234590V","10437112X","21334801A"] codigos=["IG20","IG02","IG03","IG04","J11"] codigo_asig='IG02' n=int(raw_input('Introduce el numero de alumnos: ')) m=int(raw_input('Introduce el numero de asignaturas:')) notas=[] for i in range(n): notas.append([0.0]*m) for i in range(0,n): for j in range(0,m): notas[i][j]=float(raw_input('Valor de la matriz: ')) print notas p1(nif, codigos,notas,codigo_asig) p2(notas,codigos) ----- Original Message ----- From: Chema Cortés To: Sent: Wednesday, August 13, 2003 6:18 AM Subject: [Python-es] Re: ayuda con un problema de python > Sonia escribió: > > solo una cosa > > > > al introducir los valores de la matriz me sale un error en esta linea: > > > > notas[i,j]=float(raw_input('Valor de la matriz: ')) > > > > y me dice q: 'sequence index must be integer' > > > > pero la matriz esta delcarada como float!! > > eso pq es?? > > Deberías haber puesto: > > notas[i][j]=float(raw_input('Valor de la matriz: ')) > > Cuando pones dos objetos separados por una coma > > i , j > > estás declarando implícitamente una tupla (i,j), aunque no hayas puesto > los paréntesis. De ahí el error, que no acepta tuplas como índice de > secuencias. > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From siosss en ono.com Wed Aug 13 20:38:16 2003 From: siosss en ono.com (Sonia) Date: Wed, 13 Aug 2003 13:38:16 -0500 Subject: ayuda con un problema de python References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia><20030810193921.GA13323@dimension-virtual.com><001801c3602e$539bfe00$c3b3ca51@Sonia><008e01c3605c$ca0838a0$c3b3ca51@Sonia><000601c3611f$08c1b9a0$c3b3ca51@Sonia><00a301c361b4$f50726c0$c3b3ca51@Sonia> <000601c361c1$71d6f0c0$c3b3ca51@Sonia> Message-ID: <001c01c361ca$0f46eba0$c3b3ca51@Sonia> creo q sera pq codigo_asig es una cadena no?? como defino eso? o no es eso?? ----- Original Message ----- From: Chema Cortés To: Sent: Wednesday, August 13, 2003 6:18 AM Subject: [Python-es] Re: ayuda con un problema de python > Sonia escribió: > > solo una cosa > > > > al introducir los valores de la matriz me sale un error en esta linea: > > > > notas[i,j]=float(raw_input('Valor de la matriz: ')) > > > > y me dice q: 'sequence index must be integer' > > > > pero la matriz esta delcarada como float!! > > eso pq es?? > > Deberías haber puesto: > > notas[i][j]=float(raw_input('Valor de la matriz: ')) > > Cuando pones dos objetos separados por una coma > > i , j > > estás declarando implícitamente una tupla (i,j), aunque no hayas puesto > los paréntesis. De ahí el error, que no acepta tuplas como índice de > secuencias. > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Wed Aug 13 14:21:23 2003 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Wed, 13 Aug 2003 14:21:23 +0200 Subject: ayuda con un problema de python In-Reply-To: <001701c361c9$ea7a24e0$c3b3ca51@Sonia> References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia><20030810193921.GA13323@dimension-virtual.com><001801c3602e$539bfe00$c3b3ca51@Sonia><008e01c3605c$ca0838a0$c3b3ca51@Sonia><000601c3611f$08c1b9a0$c3b3ca51@Sonia><00a301c361b4$f50726c0$c3b3ca51@Sonia> <000601c361c1$71d6f0c0$c3b3ca51@Sonia> <001701c361c9$ea7a24e0$c3b3ca51@Sonia> Message-ID: <3F3A2D43.7020402@arrakis.es> Sonia wrote: > ahora ya me deja introducir toda la matriz, pero despues me da el mismo > error de q debe de ser entero en el 1er procedimiento. justo en esta linea: > > if codigos[j]==codigo_asig: > > q pertenece a este procedimiento: > > def p1(nif, codigos,notas,codigo_asig): > #mira la posicion del codigo_asig en el vector codigos > #para saber la columna a recorrer en la matriz > cont=0 > for j in codigos: j es un código; mira esto: for j in codigos: if j==codigo_asig: posic=cont #columna a recorrer cont=cont+1 etc. Repasa todo despacito, que vas a tardar menos. Si tienes un depurador, ve mirando los valores que van tomando las variables. > if codigos[j]==codigo_asig: > posic=j #columna a recorrer > > media=0 > sum=0 > > for i in range (0,len(nif)): > # ahora j es posic: > if notas[i][posic]>0: #no presentado y no presentado > cont=cont+1 #num de notas > sum=sum+notas[i][posic] #suma todas las notas > media=sum/cont > > for i in range(0,len(nif)): > if notas[i][posic]>media: > print nif[i] > > > > > programa pal: > > > #PROGRAMA PRINCIPAL > > > nif=["07525818J","18234590V","10437112X","21334801A"] > codigos=["IG20","IG02","IG03","IG04","J11"] > codigo_asig='IG02' > > > n=int(raw_input('Introduce el numero de alumnos: ')) > m=int(raw_input('Introduce el numero de asignaturas:')) > notas=[] > for i in range(n): > notas.append([0.0]*m) > for i in range(0,n): > for j in range(0,m): > notas[i][j]=float(raw_input('Valor de la matriz: ')) > > > print notas > p1(nif, codigos,notas,codigo_asig) > p2(notas,codigos) > > > > > > ----- Original Message ----- > From: Chema Cortés > To: > Sent: Wednesday, August 13, 2003 6:18 AM > Subject: [Python-es] Re: ayuda con un problema de python > > > >>Sonia escribió: >> >>>solo una cosa >>> >>>al introducir los valores de la matriz me sale un error en esta linea: >>> >>> notas[i,j]=float(raw_input('Valor de la matriz: ')) >>> >>>y me dice q: 'sequence index must be integer' >>> >>>pero la matriz esta delcarada como float!! >>>eso pq es?? >> >>Deberías haber puesto: >> >>notas[i][j]=float(raw_input('Valor de la matriz: ')) >> >>Cuando pones dos objetos separados por una coma >> >>i , j >> >>estás declarando implícitamente una tupla (i,j), aunque no hayas puesto >>los paréntesis. De ahí el error, que no acepta tuplas como índice de >>secuencias. >> From ch3m4 en ch3m4.org Thu Aug 14 09:29:55 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Thu, 14 Aug 2003 09:29:55 +0200 Subject: ayuda con un problema de python In-Reply-To: <001701c361c9$ea7a24e0$c3b3ca51@Sonia> References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia><20030810193921.GA13323@dimension-virtual.com><001801c3602e$539bfe00$c3b3ca51@Sonia><008e01c3605c$ca0838a0$c3b3ca51@Sonia><000601c3611f$08c1b9a0$c3b3ca51@Sonia><00a301c361b4$f50726c0$c3b3ca51@Sonia> <000601c361c1$71d6f0c0$c3b3ca51@Sonia> <001701c361c9$ea7a24e0$c3b3ca51@Sonia> Message-ID: Sonia escribió: > ahora ya me deja introducir toda la matriz, pero despues me da el mismo > error de q debe de ser entero en el 1er procedimiento. justo en esta linea: > > if codigos[j]==codigo_asig: > > q pertenece a este procedimiento: > > def p1(nif, codigos,notas,codigo_asig): > #mira la posicion del codigo_asig en el vector codigos > #para saber la columna a recorrer en la matriz > cont=0 > for j in codigos: > if codigos[j]==codigo_asig: > posic=j #columna a recorrer La variable 'j' va teniendo los valores de cada elemento de la lista que has puesto en el 'for', en este caso serían los códigos de la asignatura. Debería ser: for j in len(codigos): if codigos[j]==codigo_asig: posic=j Pero ya que estamos, mi consejo es que lo hagas utilizando el método .index(): posic=codigo.index(codigo_asig) From siosss en ono.com Thu Aug 14 17:11:02 2003 From: siosss en ono.com (Sonia) Date: Thu, 14 Aug 2003 10:11:02 -0500 Subject: ayuda con un problema de python References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia><20030810193921.GA13323@dimension-virtual.com><001801c3602e$539bfe00$c3b3ca51@Sonia><008e01c3605c$ca0838a0$c3b3ca51@Sonia><000601c3611f$08c1b9a0$c3b3ca51@Sonia><00a301c361b4$f50726c0$c3b3ca51@Sonia><000601c361c1$71d6f0c0$c3b3ca51@Sonia> <001701c361c9$ea7a24e0$c3b3ca51@Sonia> Message-ID: <004801c36276$46fc2ae0$c3b3ca51@Sonia> hola! acabo de cambiar eso q me dijiste. lo de index no lo he puesto pq no lo hemos dado. ahora ya me imprime la matriz, pero en la linea q he cambiado, me da un error: 'typeError: iteration over non-sequence' la linea era esta: for j in len(codigos): el procedimiento entero este: def p1(nif, codigos,notas,codigo_asig): #mira la posicion del codigo_asig en el vector codigos #para saber la columna a recorrer en la matriz cont=0 for j in len(codigos): if codigos[j]==codigo_asig: posic=j #columna a recorrer media=0 sum=0 for i in range (0,len(nif)): # ahora j es posic: if notas[i][posic]>0: #no presentado y no presentado cont=cont+1 #num de notas sum=sum+notas[i][posic] #suma todas las notas media=sum/cont for i in range(0,len(nif)): if notas[i][posic]>media: print nif[i] y el p.pal este: nif=["07525818J","18234590V","10437112X","21334801A"] codigos=["IG20","IG02","IG03","IG04","J11"] codigo_asig='IG02' n=int(raw_input('Introduce el numero de alumnos: ')) m=int(raw_input('Introduce el numero de asignaturas:')) notas=[] for i in range(n): notas.append([0.0]*m) for i in range(0,n): for j in range(0,m): notas[i][j]=float(raw_input('Valor de la matriz: ')) print notas p1(nif, codigos,notas,codigo_asig) p2(notas,codigos) ----- Original Message ----- From: Chema Cortés To: Sent: Thursday, August 14, 2003 2:29 AM Subject: [Python-es] Re: ayuda con un problema de python > Sonia escribió: > > > ahora ya me deja introducir toda la matriz, pero despues me da el mismo > > error de q debe de ser entero en el 1er procedimiento. justo en esta linea: > > > > if codigos[j]==codigo_asig: > > > > q pertenece a este procedimiento: > > > > def p1(nif, codigos,notas,codigo_asig): > > #mira la posicion del codigo_asig en el vector codigos > > #para saber la columna a recorrer en la matriz > > cont=0 > > for j in codigos: > > if codigos[j]==codigo_asig: > > posic=j #columna a recorrer > > La variable 'j' va teniendo los valores de cada elemento de la lista que > has puesto en el 'for', en este caso serían los códigos de la > asignatura. Debería ser: > > for j in len(codigos): > if codigos[j]==codigo_asig: > posic=j > > Pero ya que estamos, mi consejo es que lo hagas utilizando el método > .index(): > > posic=codigo.index(codigo_asig) > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From ch3m4 en ch3m4.org Thu Aug 14 10:41:08 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Thu, 14 Aug 2003 10:41:08 +0200 Subject: ayuda con un problema de python In-Reply-To: <004801c36276$46fc2ae0$c3b3ca51@Sonia> References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia><20030810193921.GA13323@dimension-virtual.com><001801c3602e$539bfe00$c3b3ca51@Sonia><008e01c3605c$ca0838a0$c3b3ca51@Sonia><000601c3611f$08c1b9a0$c3b3ca51@Sonia><00a301c361b4$f50726c0$c3b3ca51@Sonia><000601c361c1$71d6f0c0$c3b3ca51@Sonia> <001701c361c9$ea7a24e0$c3b3ca51@Sonia> <004801c36276$46fc2ae0$c3b3ca51@Sonia> Message-ID: Sonia escribió: > hola! > acabo de cambiar eso q me dijiste. lo de index no lo he puesto pq no lo > hemos dado. ahora ya me imprime la matriz, pero en la linea q he cambiado, > me da un error: 'typeError: iteration over non-sequence' > > la linea era esta: > for j in len(codigos): Estaba incompleto. Prueba con ésto: for j in range(len(codigos)): if codigos[j]==codigo_asig: posic=j #columna a recorrer From siosss en ono.com Thu Aug 14 17:47:45 2003 From: siosss en ono.com (Sonia) Date: Thu, 14 Aug 2003 10:47:45 -0500 Subject: ayuda con un problema de python References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia><20030810193921.GA13323@dimension-virtual.com><001801c3602e$539bfe00$c3b3ca51@Sonia><008e01c3605c$ca0838a0$c3b3ca51@Sonia><000601c3611f$08c1b9a0$c3b3ca51@Sonia><00a301c361b4$f50726c0$c3b3ca51@Sonia><000601c361c1$71d6f0c0$c3b3ca51@Sonia><001701c361c9$ea7a24e0$c3b3ca51@Sonia> <004801c36276$46fc2ae0$c3b3ca51@Sonia> Message-ID: <005e01c3627b$682599e0$c3b3ca51@Sonia> vale! ahora me dice q esta fuera del rango esto: if notas[i][posic]>0: #no presentado y no presentado es de este trozo de codigo( y de la misma funcion q antes) for i in range (0,len(nif)): # ahora j es posic: if notas[i][posic]>0: #no presentado y no presentado cont=cont+1 #num de notas sum=sum+notas[i][posic] #suma todas las notas media=sum/cont he probado a cambiarlo por range(len(nif)) pero creo q es lo mismo! ----- Original Message ----- From: Chema Cortés To: Sent: Thursday, August 14, 2003 3:41 AM Subject: [Python-es] Re: ayuda con un problema de python > Sonia escribió: > > > hola! > > acabo de cambiar eso q me dijiste. lo de index no lo he puesto pq no lo > > hemos dado. ahora ya me imprime la matriz, pero en la linea q he cambiado, > > me da un error: 'typeError: iteration over non-sequence' > > > > la linea era esta: > > for j in len(codigos): > > Estaba incompleto. Prueba con ésto: > > for j in range(len(codigos)): > if codigos[j]==codigo_asig: > posic=j #columna a recorrer > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From rabs en dimension-virtual.com Thu Aug 14 11:18:38 2003 From: rabs en dimension-virtual.com (=?iso-8859-1?Q?Ra=FAl?= Alexis Betancort Santana) Date: Thu, 14 Aug 2003 10:18:38 +0100 Subject: ayuda con un problema de python In-Reply-To: <005e01c3627b$682599e0$c3b3ca51@Sonia> References: <005e01c3627b$682599e0$c3b3ca51@Sonia> Message-ID: <20030814091838.GA1827@dimension-virtual.com> El Thu, Aug 14, 2003 at 10:47:45AM -0500, Sonia escribió: > vale! > ahora me dice q esta fuera del rango esto: > > if notas[i][posic]>0: #no presentado y no presentado > > > es de este trozo de codigo( y de la misma funcion q antes) > > for i in range (0,len(nif)): > # ahora j es posic: > if notas[i][posic]>0: #no presentado y no presentado > cont=cont+1 #num de notas > sum=sum+notas[i][posic] #suma todas las notas > media=sum/cont ^^^^ Sigues sin tener en cuenta que las notas pueden ser 4.52, y no solo 4, la suma es incorrecta y la división también, pueden no dar el resultado esperado Saludos -- _ _ // Raúl A. Betancort Santana /> A Dream is an answer to __ \\ // // question that we don't know (oo) \\ // Dimensión Virtual S.L. // how to ask. / \/ \ // \> A Linux Solution Provider ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From siosss en ono.com Thu Aug 14 18:14:49 2003 From: siosss en ono.com (Sonia) Date: Thu, 14 Aug 2003 11:14:49 -0500 Subject: problema de listas Message-ID: <008201c3627f$2f9701a0$c3b3ca51@Sonia> os dejo un problema sobre listas pq me dan fallos sobre concatenacion, q se ve q no se peuden hacer. pongo el codigo por si veis donde hay 'cosas raras' y a continuacion pego el enunciado para no crear mas dudas gracias!! #tramos costes def minimo(lista): min=lista[0] for i in range(0,len(lista)): if lista[i] ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Thu Aug 14 11:36:16 2003 From: rapto en arrakis.es (=?windows-1252?Q?Marcos_S=E1nchez_Provencio?=) Date: Thu, 14 Aug 2003 11:36:16 +0200 Subject: problema de listas In-Reply-To: <008201c3627f$2f9701a0$c3b3ca51@Sonia> References: <008201c3627f$2f9701a0$c3b3ca51@Sonia> Message-ID: <3F3B5810.8050105@arrakis.es> No puedes sumar una lista y un elemento. Puedes sumar dos listas o hacer append de un elemento a = [0] a = a + [1,2] a.append(3) Echando cuentas, creo que debes unas 40 cañas... Sonia wrote: > os dejo un problema sobre listas pq me dan fallos sobre concatenacion, q > se ve q no se peuden hacer. pongo el codigo por si veis donde hay 'cosas > raras' y a continuacion pego el enunciado para no crear mas dudas > gracias!! > > > #tramos costes > > def minimo(lista): > min=lista[0] > for i in range(0,len(lista)): > if lista[i] min=lista[i] > return min > > > def recorrer(coste,tramo,ini,fin): > > lista_aux=[] > lista_min=[] > if ini<=fin: #recorremos la lista de ppio a fin > while ini<=fin: > coste_tramo=lista_aux+tramo[ini] > lista_aux=lista_aux+tramo[ini] > ini=ini+1 > if leng[lista_aux]==3: > lista_min=lista_min+minimo(lista_aux) > lista_aux=[] > for j in range (ini,fin): > suma=suma+coste[j] > for k in range (0,len(lista_min)): > suma_minimos=suma_minimos+lista_min[k] > rdo=suma-suma_minimos > > return rdo > > #programa ppal > > tramo=[0,1,2,3,4,5,6,7,8,9,10,11,12] > coste=[2,3,2,2,1,2,3,4,4,2,3,3,2] > > ini=int(raw_input('Introduce ini: ')) > fin=int(raw_input('introduce fin: ')) > res=recorrer(coste,tramo,ini,fin) > print res > > > > ENUNCIADO > > > > Implementa una funcion denominada longitudruta q, dada una ruta formada > por una lista de nombres de ciudades y otra lista con la distancias > entre pares de ciudades, devuelva la longitud de dicha ruta. > > La funcion longitudruta recibe como 1er parámetro una lista de > cadenas(cada cadena sera el nombre de una ciudad, por lo q tomaremos la > lsta como una ruta de viaje) y como segundo parámetro una lista de tramos. > > Cada tramo sera a su vez una lista con el formato > [cadena,cadena,entero] (las 2 cadenas son nombres de ciudades y el > entero la distancia en kilómetros entre ellas) > > Si la funcion longitudruta no puede calcular la longitud de la ruta > debido a q en el segundo parámetro falta alguna distancia entre las > ciudades q es necesaria, entonces debe devolver none, para indicar q la > longitud de la ruta no puede calcularse. > > Ejemplo: > > Dist=[] > > Dist.append([?alicante?,?valencia?,166]) > > Dist.append([?castellon?,?valencia?,65]) > > Dist.append([?tarragona?,castellon?,186]) > > Ruta1=[?castellon?,?valencia?,?alicante?] > > Ruta2=[?castellon?,?alicante?,?valencia?] > > Print ?longitud ruta1:?, longitud(ruta1,dist) > > Print ?longitud ruta2:? longitudruta(ruta2,dist) > > Al ejecutarlo , se escribira x pantalla: > > Longitud ruta1: 231 > > Longitud ruta2: none > > > > Importante: > > Ten en cuenta q en la lista dist del ejemplo no aparece la distancia > ?valencia?-?alicante?, sino la distancia ?alicante?-?valencia?. Es > decir, cuando busques la distancia entre 2 ciudades deberas buscar ambas > posibilidades, antes de indicar q la ruta no puede calcularse. > > La segunda ruta no puede calcularse pq en la lista dist del ejemplo no > aparece la distancia ?castellon?-?alicante? ni ?alicante?-?castellon? > > ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jcanto en hispasec.com Thu Aug 14 12:46:27 2003 From: jcanto en hispasec.com (Julio Canto) Date: Thu, 14 Aug 2003 11:46:27 +0100 Subject: problema de listas References: <008201c3627f$2f9701a0$c3b3ca51@Sonia> Message-ID: <010201c36251$5f595970$050010ac@vega700> Sonia: Antes que hacer todos estos problemas, creo (en mi humilde opinion) que deberias probar con algo mas sencillito en plan: - busca el elemento mayor en una lista - saca la media de esa misma lista, etc Creo que el problema que tienes es que no entiendes bien los fundamentos basicos de estas, y por eso te lias. Leete bien la documentación sobre como se trabaja sobre ellas, porque hasta que no lo entiendas bien, no podras hacer esos ejercicios en condiciones. Algunas cosas basicas: - crear una lista vacia lista = [] - crear una lista con valores iniciales lista = [1,3,5,7] - longitud de una lista len(lista) - elementos dentro de una lista: las direcciones son base 0, asi que el primer elemento de la lista anterior es: lista[0] - ultimo elemento de una lista lista[-1] - "rodajas de listas", cojes cachos lista[0:2] etc, etc, etc. Hasta que no domines estas cosas, no podras hacer bien los ejercicios de python sobre listas. Un saludo, JC ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ch3m4 en ch3m4.org Thu Aug 14 13:04:09 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Thu, 14 Aug 2003 13:04:09 +0200 Subject: ayuda con un problema de python In-Reply-To: <005e01c3627b$682599e0$c3b3ca51@Sonia> References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia><20030810193921.GA13323@dimension-virtual.com><001801c3602e$539bfe00$c3b3ca51@Sonia><008e01c3605c$ca0838a0$c3b3ca51@Sonia><000601c3611f$08c1b9a0$c3b3ca51@Sonia><00a301c361b4$f50726c0$c3b3ca51@Sonia><000601c361c1$71d6f0c0$c3b3ca51@Sonia><001701c361c9$ea7a24e0$c3b3ca51@Sonia> <004801c36276$46fc2ae0$c3b3ca51@Sonia> <005e01c3627b$682599e0$c3b3ca51@Sonia> Message-ID: Sonia escribió: > vale! > ahora me dice q esta fuera del rango esto: > > if notas[i][posic]>0: #no presentado y no presentado > > > es de este trozo de codigo( y de la misma funcion q antes) > > for i in range (0,len(nif)): > # ahora j es posic: > if notas[i][posic]>0: #no presentado y no presentado > cont=cont+1 #num de notas > sum=sum+notas[i][posic] #suma todas las notas > media=sum/cont Comprueba qué te pasa. Por ejemplo, inserta algún print para ver los valores de las variables 'i' y 'posic', así como 'len(notas)' y 'len(notas[i])' Apostaría a que has introducido menos 'notas' que las que necesitas. Cambia el bloque principal a ésto: nif=["07525818J","18234590V","10437112X","21334801A"] codigos=["IG20","IG02","IG03","IG04","J11"] codigo_asig='IG02' numalumnos=len(nif) numcodigos=len(codigos) # Inicializamos la matriz de notas for i in range(numalumnos): notas.append([0.0]*numcodigos) # Introducimos notas for i in range(numalumnos): print "Alumno:", nif[i] for j in range(numcodigos): print "Asignatura:",codigos[j] notas[i][j]=float(raw_input('Nota: ')) print notas p1(nif,codigos,notas,codigo_asig) p2(notas,codigos) From siosss en ono.com Thu Aug 14 20:06:42 2003 From: siosss en ono.com (Sonia) Date: Thu, 14 Aug 2003 13:06:42 -0500 Subject: problema de listas References: <008201c3627f$2f9701a0$c3b3ca51@Sonia> <3F3B5810.8050105@arrakis.es> Message-ID: <002401c3628e$d0f98f40$c3b3ca51@Sonia> es ya esta una buana forma de operar con listas?? #tramos costes def minimo(lista): min=lista[0] for i in range(0,len(lista)): if lista[i] To: La lista de python en castellano Sent: Thursday, August 14, 2003 4:36 AM Subject: Re: [Python-es] problema de listas > No puedes sumar una lista y un elemento. Puedes sumar dos listas o hacer > append de un elemento > > a = [0] > a = a + [1,2] > a.append(3) > > Echando cuentas, creo que debes unas 40 cañas... > > Sonia wrote: > > os dejo un problema sobre listas pq me dan fallos sobre concatenacion, q > > se ve q no se peuden hacer. pongo el codigo por si veis donde hay 'cosas > > raras' y a continuacion pego el enunciado para no crear mas dudas > > gracias!! > > > > > > #tramos costes > > > > def minimo(lista): > > min=lista[0] > > for i in range(0,len(lista)): > > if lista[i] > min=lista[i] > > return min > > > > > > def recorrer(coste,tramo,ini,fin): > > > > lista_aux=[] > > lista_min=[] > > if ini<=fin: #recorremos la lista de ppio a fin > > while ini<=fin: > > coste_tramo=lista_aux+tramo[ini] > > lista_aux=lista_aux+tramo[ini] > > ini=ini+1 > > if leng[lista_aux]==3: > > lista_min=lista_min+minimo(lista_aux) > > lista_aux=[] > > for j in range (ini,fin): > > suma=suma+coste[j] > > for k in range (0,len(lista_min)): > > suma_minimos=suma_minimos+lista_min[k] > > rdo=suma-suma_minimos > > > > return rdo > > > > #programa ppal > > > > tramo=[0,1,2,3,4,5,6,7,8,9,10,11,12] > > coste=[2,3,2,2,1,2,3,4,4,2,3,3,2] > > > > ini=int(raw_input('Introduce ini: ')) > > fin=int(raw_input('introduce fin: ')) > > res=recorrer(coste,tramo,ini,fin) > > print res > > > > > > > > ENUNCIADO > > > > > > > > Implementa una funcion denominada longitudruta q, dada una ruta formada > > por una lista de nombres de ciudades y otra lista con la distancias > > entre pares de ciudades, devuelva la longitud de dicha ruta. > > > > La funcion longitudruta recibe como 1er parámetro una lista de > > cadenas(cada cadena sera el nombre de una ciudad, por lo q tomaremos la > > lsta como una ruta de viaje) y como segundo parámetro una lista de tramos. > > > > Cada tramo sera a su vez una lista con el formato > > [cadena,cadena,entero] (las 2 cadenas son nombres de ciudades y el > > entero la distancia en kilómetros entre ellas) > > > > Si la funcion longitudruta no puede calcular la longitud de la ruta > > debido a q en el segundo parámetro falta alguna distancia entre las > > ciudades q es necesaria, entonces debe devolver none, para indicar q la > > longitud de la ruta no puede calcularse. > > > > Ejemplo: > > > > Dist=[] > > > > Dist.append([?alicante?,?valencia?,166]) > > > > Dist.append([?castellon?,?valencia?,65]) > > > > Dist.append([?tarragona?,castellon?,186]) > > > > Ruta1=[?castellon?,?valencia?,?alicante?] > > > > Ruta2=[?castellon?,?alicante?,?valencia?] > > > > Print ?longitud ruta1:?, longitud(ruta1,dist) > > > > Print ?longitud ruta2:? longitudruta(ruta2,dist) > > > > Al ejecutarlo , se escribira x pantalla: > > > > Longitud ruta1: 231 > > > > Longitud ruta2: none > > > > > > > > Importante: > > > > Ten en cuenta q en la lista dist del ejemplo no aparece la distancia > > ?valencia?-?alicante?, sino la distancia ?alicante?-?valencia?. Es > > decir, cuando busques la distancia entre 2 ciudades deberas buscar ambas > > posibilidades, antes de indicar q la ruta no puede calcularse. > > > > La segunda ruta no puede calcularse pq en la lista dist del ejemplo no > > aparece la distancia ?castellon?-?alicante? ni ?alicante?-?castellon? > > > > > > > ---------------------------------------------------------------------------- ---- _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From siosss en ono.com Thu Aug 14 20:13:24 2003 From: siosss en ono.com (Sonia) Date: Thu, 14 Aug 2003 13:13:24 -0500 Subject: ayuda con un problema de python References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia><20030810193921.GA13323@dimension-virtual.com><001801c3602e$539bfe00$c3b3ca51@Sonia><008e01c3605c$ca0838a0$c3b3ca51@Sonia><000601c3611f$08c1b9a0$c3b3ca51@Sonia><00a301c361b4$f50726c0$c3b3ca51@Sonia><000601c361c1$71d6f0c0$c3b3ca51@Sonia><001701c361c9$ea7a24e0$c3b3ca51@Sonia><004801c36276$46fc2ae0$c3b3ca51@Sonia> <005e01c3627b$682599e0$c3b3ca51@Sonia> Message-ID: <003301c3628f$c0b77600$c3b3ca51@Sonia> ok! asi si q va bien. solo falla al resultado de la 2º funcion, q dice q codigos no esta definido en esta linea: print codigo[pos] igual es pq no es eso lo q se tiene q devolver no?? pq definido, no se q sera la funcion q falla es esta 2º: def p2(notas,codigos): #recorro la matriz y hago un vector q pondre el #contador de cada columna cuando sean <> -1 vcont=[0]*len(codigos) vmatriculas=[0]*len(codigos) for i in range(0,len(nif)): for j in range(0,len(codigos)): if notas[i][j]<>-2: # matriculados vmatriculas[j]=vmatriculas[j]+1 if notas[i][j]<> -1: # presentados vcont[j]=vcont[j]+1 #ver la posicion q tiene el maximo contador maxi=0 pos=0 for i in range(0,len(vcont)): proporcion=float(vcont[i])/float(vmatriculas[i]) if proporcion>maxi: maxi=proporcion pos=i print codigo[pos] ----- Original Message ----- From: Chema Cortés To: Sent: Thursday, August 14, 2003 6:04 AM Subject: [Python-es] Re: ayuda con un problema de python > Sonia escribió: > > vale! > > ahora me dice q esta fuera del rango esto: > > > > if notas[i][posic]>0: #no presentado y no presentado > > > > > > es de este trozo de codigo( y de la misma funcion q antes) > > > > for i in range (0,len(nif)): > > # ahora j es posic: > > if notas[i][posic]>0: #no presentado y no presentado > > cont=cont+1 #num de notas > > sum=sum+notas[i][posic] #suma todas las notas > > media=sum/cont > > Comprueba qué te pasa. Por ejemplo, inserta algún print para ver los > valores de las variables 'i' y 'posic', así como 'len(notas)' y > 'len(notas[i])' > > Apostaría a que has introducido menos 'notas' que las que necesitas. > > Cambia el bloque principal a ésto: > > nif=["07525818J","18234590V","10437112X","21334801A"] > codigos=["IG20","IG02","IG03","IG04","J11"] > codigo_asig='IG02' > > numalumnos=len(nif) > numcodigos=len(codigos) > > # Inicializamos la matriz de notas > for i in range(numalumnos): > notas.append([0.0]*numcodigos) > > # Introducimos notas > for i in range(numalumnos): > print "Alumno:", nif[i] > for j in range(numcodigos): > print "Asignatura:",codigos[j] > notas[i][j]=float(raw_input('Nota: ')) > > print notas > p1(nif,codigos,notas,codigo_asig) > p2(notas,codigos) > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From ch3m4 en ch3m4.org Thu Aug 14 13:23:52 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Thu, 14 Aug 2003 13:23:52 +0200 Subject: ayuda con un problema de python In-Reply-To: <003301c3628f$c0b77600$c3b3ca51@Sonia> References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia><20030810193921.GA13323@dimension-virtual.com><001801c3602e$539bfe00$c3b3ca51@Sonia><008e01c3605c$ca0838a0$c3b3ca51@Sonia><000601c3611f$08c1b9a0$c3b3ca51@Sonia><00a301c361b4$f50726c0$c3b3ca51@Sonia><000601c361c1$71d6f0c0$c3b3ca51@Sonia><001701c361c9$ea7a24e0$c3b3ca51@Sonia><004801c36276$46fc2ae0$c3b3ca51@Sonia> <005e01c3627b$682599e0$c3b3ca51@Sonia> <003301c3628f$c0b77600$c3b3ca51@Sonia> Message-ID: Sonia escribió: > ok! asi si q va bien. solo falla al resultado de la 2º funcion, q dice q > codigos no esta definido en esta linea: > > print codigo[pos] > > igual es pq no es eso lo q se tiene q devolver no?? pq definido, no se q > sera Es más sencillo que lo que estás pensando. La lista se llama 'codigos', en plural print codigos[pos] From siosss en ono.com Thu Aug 14 20:29:50 2003 From: siosss en ono.com (Sonia) Date: Thu, 14 Aug 2003 13:29:50 -0500 Subject: ayuda con un problema de python References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia><20030810193921.GA13323@dimension-virtual.com><001801c3602e$539bfe00$c3b3ca51@Sonia><008e01c3605c$ca0838a0$c3b3ca51@Sonia><000601c3611f$08c1b9a0$c3b3ca51@Sonia><00a301c361b4$f50726c0$c3b3ca51@Sonia><000601c361c1$71d6f0c0$c3b3ca51@Sonia><001701c361c9$ea7a24e0$c3b3ca51@Sonia><004801c36276$46fc2ae0$c3b3ca51@Sonia><005e01c3627b$682599e0$c3b3ca51@Sonia> <003301c3628f$c0b77600$c3b3ca51@Sonia> Message-ID: <003e01c36292$0c343080$c3b3ca51@Sonia> OOOOKKKKKKKKK !!!!!!!!!!!!! por fin, va perfecto!!!! graciassssss!!!!!!!!!! ----- Original Message ----- From: Chema Cortés To: Sent: Thursday, August 14, 2003 6:23 AM Subject: [Python-es] Re: ayuda con un problema de python > Sonia escribió: > > ok! asi si q va bien. solo falla al resultado de la 2º funcion, q dice q > > codigos no esta definido en esta linea: > > > > print codigo[pos] > > > > igual es pq no es eso lo q se tiene q devolver no?? pq definido, no se q > > sera > > Es más sencillo que lo que estás pensando. La lista se llama 'codigos', > en plural > > print codigos[pos] > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From dvilla en gmx.net Thu Aug 14 16:58:57 2003 From: dvilla en gmx.net (dvilla en gmx.net) Date: Thu, 14 Aug 2003 16:58:57 +0200 Subject: ayuda con un problema de python In-Reply-To: <003e01c36292$0c343080$c3b3ca51@Sonia> References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia> <20030810193921.GA13323@dimension-virtual.com> <001801c3602e$539bfe00$c3b3ca51@Sonia> <008e01c3605c$ca0838a0$c3b3ca51@Sonia> <000601c3611f$08c1b9a0$c3b3ca51@Sonia> <00a301c361b4$f50726c0$c3b3ca51@Sonia> <000601c361c1$71d6f0c0$c3b3ca51@Sonia> <001701c361c9$ea7a24e0$c3b3ca51@Sonia> <004801c36276$46fc2ae0$c3b3ca51@Sonia> <005e01c3627b$682599e0$c3b3ca51@Sonia> <003301c3628f$c0b77600$c3b3ca51@Sonia> <003e01c36292$0c343080$c3b3ca51@Sonia> Message-ID: <20030814165857.3c4045fd.dvilla@gmx.net> Hola: Sonia, no tienes otro ejercicio? Yo que estaba pendiente a ver si batiais el record de hilo más largo en la historia de las lista de correo ;-) es broma, que no se mosquee nadie. Ya en serio, un consejp: deberías intentar dividir el problema y solucionar cada parte por separado (divide y vencerás). Cuando intentando resolver una de esas partes te surja un problema concreto consultas a la lista. De esta forma te quedará más claro y aprenderás más rápido. En general, es bastante incómodo'corregir' un programa completo de otra persona. Si haces una consulta concreta es más fácil que la gente te ayude. Aunque desde luego no te puedes quejar; en otras listas la gente no suele ayudar a los que envían un programa de 100 lineas y preguntan que porqué no funciona. Yo de todos modos admiro tu entusiasmo. Saludos, El Thu, 14 Aug 2003 13:29:50 -0500 "Sonia" escribió: > OOOOKKKKKKKKK !!!!!!!!!!!!! > > por fin, va perfecto!!!! > > graciassssss!!!!!!!!!! > > > ----- Original Message ----- > From: Chema Cortés > To: > Sent: Thursday, August 14, 2003 6:23 AM > Subject: [Python-es] Re: ayuda con un problema de python > > > > Sonia escribió: > > > ok! asi si q va bien. solo falla al resultado de la 2º funcion, q dice q > > > codigos no esta definido en esta linea: > > > > > > print codigo[pos] > > > > > > igual es pq no es eso lo q se tiene q devolver no?? pq definido, no se q > > > sera > > > > Es más sencillo que lo que estás pensando. La lista se llama 'codigos', > > en plural > > > > print codigos[pos] > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From siosss en ono.com Fri Aug 15 00:05:35 2003 From: siosss en ono.com (Sonia) Date: Thu, 14 Aug 2003 17:05:35 -0500 Subject: ayuda con un problema de python References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia><20030810193921.GA13323@dimension-virtual.com><001801c3602e$539bfe00$c3b3ca51@Sonia><008e01c3605c$ca0838a0$c3b3ca51@Sonia><000601c3611f$08c1b9a0$c3b3ca51@Sonia><00a301c361b4$f50726c0$c3b3ca51@Sonia><000601c361c1$71d6f0c0$c3b3ca51@Sonia><001701c361c9$ea7a24e0$c3b3ca51@Sonia><004801c36276$46fc2ae0$c3b3ca51@Sonia><005e01c3627b$682599e0$c3b3ca51@Sonia><003301c3628f$c0b77600$c3b3ca51@Sonia><003e01c36292$0c343080$c3b3ca51@Sonia> <20030814165857.3c4045fd.dvilla@gmx.net> Message-ID: <006f01c362b0$304b1920$c3b3ca51@Sonia> yo tb me aclararia mejor haciendolo por partes, lo q pasa es q luego en el examen nos piden 1 o 2 procedimientos como mucho. y por eso tengo q hacerme a la idea. de todas formas, si se el trozo donde tengo el problema lo digo. lo he mandado entero simplemente para q me dijeran q operaciones hacia mal con la lista a simple vista. y he mandado el enunciado, pues....pq a veces lo piden. nada mas! ----- Original Message ----- From: To: La lista de python en castellano Cc: Sent: Thursday, August 14, 2003 9:58 AM Subject: Re: [Python-es] Re: ayuda con un problema de python > > Hola: > > Sonia, no tienes otro ejercicio? Yo que estaba pendiente a ver si batiais el > record de hilo más largo en la historia de las lista de correo ;-) es broma, que > no se mosquee nadie. > > Ya en serio, un consejp: deberías intentar dividir el problema y solucionar cada > parte por separado (divide y vencerás). Cuando intentando resolver una de esas > partes te surja un problema concreto consultas a la lista. > > De esta forma te quedará más claro y aprenderás más rápido. En general, es > bastante incómodo'corregir' un programa completo de otra persona. Si haces una > consulta concreta es más fácil que la gente te ayude. > > Aunque desde luego no te puedes quejar; en otras listas la gente no suele > ayudar a los que envían un programa de 100 lineas y preguntan que porqué no > funciona. Yo de todos modos admiro tu entusiasmo. > > Saludos, > > > > El Thu, 14 Aug 2003 13:29:50 -0500 > "Sonia" escribió: > > > OOOOKKKKKKKKK !!!!!!!!!!!!! > > > > por fin, va perfecto!!!! > > > > graciassssss!!!!!!!!!! > > > > > > ----- Original Message ----- > > From: Chema Cortés > > To: > > Sent: Thursday, August 14, 2003 6:23 AM > > Subject: [Python-es] Re: ayuda con un problema de python > > > > > > > Sonia escribió: > > > > ok! asi si q va bien. solo falla al resultado de la 2º funcion, q dice q > > > > codigos no esta definido en esta linea: > > > > > > > > print codigo[pos] > > > > > > > > igual es pq no es eso lo q se tiene q devolver no?? pq definido, no se q > > > > sera > > > > > > Es más sencillo que lo que estás pensando. La lista se llama 'codigos', > > > en plural > > > > > > print codigos[pos] > > > > > > > > > _______________________________________________ > > > Python-es mailing list > > > Python-es en aditel.org > > > http://listas.aditel.org/listinfo/python-es > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From YourpadreMB en netscape.net Thu Aug 14 21:11:42 2003 From: YourpadreMB en netscape.net (Miguel B) Date: Thu, 14 Aug 2003 15:11:42 -0400 Subject: que me recomiendan Message-ID: <64F59119.7BBEA78F.441BE8AE@netscape.net> Un programa que tengo en VB6 + MS Access lo quiero pasar a wxpython + postgresql. En estos momentos tengo un modulo donde capturo varios campos para guardarlos en la BD, donde al introducir los datos voy validando, las dudas son 1.- como se les hace esto o me recomiendan otro forma? def OntxtCapturoChar(self, event): key=event.GetKeyCode() if key in range(256): #if para pasar al siguiente campo if key ==13 : self.txtFecha.Enable(true) self.txtFecha.SetFocus() self.txtCapturo.Enable(false) #if para validar solo numeros elif (key >= 48 and key <= 57): #agrego el caracter al campo self.txtCapturo.AppendText(chr(key)) #if para permitir el backspace elif key==8: event.Skip() 2.- pero si quiero mover el cursor con las flechas no se mueve, como le puedo hacer para hacerlo? 3.- En VB podia hacer arrglos de controles, se puede tambien en python? Nota: estoy usando Boa 0.2.3 __________________________________________________________________ McAfee VirusScan Online from the Netscape Network. Comprehensive protection for your entire computer. Get your free trial today! http://channels.netscape.com/ns/computing/mcafee/index.jsp?promo=393397 Get AOL Instant Messenger 5.1 free of charge. Download Now! http://aim.aol.com/aimnew/Aim/register.adp?promo=380455 From euroarabservice en euroarabservice.com Fri Aug 15 12:17:58 2003 From: euroarabservice en euroarabservice.com (Euro Arab Service) Date: Fri, 15 Aug 2003 12:17:58 +0200 (Romance Daylight Time) Subject: Para Todos Message-ID: <3F3CB356.00005B.62625@papiros> Querido amigo, Seguramente, ha pasado por su cabeza alguna de estas preguntas, ? Alguna vez ha necesitado a traducir un documento? ? Alguna vez ha necesitado a un interprete o traductor ? ? Alguna vez ha pensado viajar a otro pa?s ? ? Alguna vez ha pensado estudiar en el extranjero ? ? Alguna vez ha necesitado a hacer alg?n tramite en el extranjero ? ? Alguna vez ha necesitado alg?n tipo de servicio especial o personalizado ? ? Son muchas preguntas ? Si, quiere consigue respuestas a estas preguntas y saber mucho m?s ,. Dear friend, Surely that you had one of these questions in your mind, Someday did you need to translate a document? Someday did you need a translator ? Someday did you think to travel abroad ? Someday did you think to study abroad ? Someday did you need to handle some procedures abroad? Someday did you need to have a special service and personalized ? So many questions? If you want to know their answers, and to know mach more, Euro Arab Service www.euroarabservice.com info en euroarabservice.com ------------ pr?xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ pr?xima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From se05216 en salleURL.edu Fri Aug 15 18:37:42 2003 From: se05216 en salleURL.edu (CHRISTAL) Date: Fri, 15 Aug 2003 18:37:42 +0200 (CEST) Subject: -- Timer en python -- Message-ID: Alguien sabe como hacer un timer en python? es decir, que cada X segundos salte a una funcion que yo le indique? He probado el ejemplo de esta web, pero me da error: http://www.python.org/doc/current/lib/timer-objects.html#l2h-2549 Dice que la clase timer esta dentro del modulo Threading y en cambio no me lo reconoce python (tengo la version 2.2) Saludos y gracias ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From se05216 en salleURL.edu Fri Aug 15 18:30:26 2003 From: se05216 en salleURL.edu (CHRISTAL) Date: Fri, 15 Aug 2003 18:30:26 +0200 (CEST) Subject: -- Timer en python -- Message-ID: Alguien sabe como hacer un timer en python? es decir, que cada X segundos salte a una funcion que yo le indique? He probado el ejemplo de esta web, pero me da error: http://www.python.org/doc/current/lib/timer-objects.html#l2h-2549 Dice que la clase timer esta dentro del modulo Threading y en cambio no me lo reconoce python (tengo la version 2.2) Saludos y gracias ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Sat Aug 16 10:42:37 2003 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Sat, 16 Aug 2003 10:42:37 +0200 Subject: -- Timer en python -- In-Reply-To: References: Message-ID: <3F3DEE7D.9000704@arrakis.es> CHRISTAL wrote: >Alguien sabe como hacer un timer en python? es decir, que cada X >segundos salte a una funcion que yo le indique? >He probado el ejemplo de esta web, pero me da error: >http://www.python.org/doc/current/lib/timer-objects.html#l2h-2549 >Dice que la clase timer esta dentro del modulo Threading y en cambio no >me lo reconoce python (tengo la version 2.2) >Saludos y gracias > > > A mí me va: marcos en renata:~$ python2.2 Python 2.2.2 (#1, Jan 31 2003, 11:08:26) [GCC 2.95.4 20011002 (Debian prerelease)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import threading >>> def h(): ... print 'fff' ... >>> t=threading.Timer(3.0,h) >>> t.start() >>> print 1 1 >>> ffff From se05216 en salleURL.edu Sun Aug 17 00:27:24 2003 From: se05216 en salleURL.edu (CHRISTAL) Date: Sun, 17 Aug 2003 00:27:24 +0200 (CEST) Subject: -- Timer en python -- In-Reply-To: <3F3DEE7D.9000704@arrakis.es> References: <3F3DEE7D.9000704@arrakis.es> Message-ID: Al final consegui que me funcionara, pero lo que no se como hacer es que se repita constantemente, no que solo lo haga una vez a los 5 segundos (por ejemplo) sino cada 5 segundos saltara a esa funcion. Como lo meto en un loop? Porque si en la funcion a la que llama vuelvo a activar el timer, me da error. Como puedo hacerlo? necesito que cada 5 segundos entre a esa funcion... Un saludo y gracias! On Sat, 16 Aug 2003, Marcos Sánchez Provencio wrote: > CHRISTAL wrote: > > >Alguien sabe como hacer un timer en python? es decir, que cada X > >segundos salte a una funcion que yo le indique? > >He probado el ejemplo de esta web, pero me da error: > >http://www.python.org/doc/current/lib/timer-objects.html#l2h-2549 > >Dice que la clase timer esta dentro del modulo Threading y en cambio no > >me lo reconoce python (tengo la version 2.2) > >Saludos y gracias > > > > > > > A mí me va: > > marcos en renata:~$ python2.2 > Python 2.2.2 (#1, Jan 31 2003, 11:08:26) > [GCC 2.95.4 20011002 (Debian prerelease)] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > > >>> import threading > > >>> def h(): > ... print 'fff' > ... > >>> t=threading.Timer(3.0,h) > >>> t.start() > >>> print 1 > 1 > >>> ffff > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From kmilo en softhome.net Sun Aug 17 04:42:02 2003 From: kmilo en softhome.net (kmilo) Date: 16 Aug 2003 21:42:02 -0500 Subject: Guido van Rossum Speaks Message-ID: <1061088036.334.8.camel@debian> Entrevista con Guido: http://www.onlamp.com/pub/a/python/2003/08/14/gvr_interview.html?page=1 -- /kmilo From rapto en arrakis.es Sun Aug 17 10:57:52 2003 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: 17 Aug 2003 10:57:52 +0200 Subject: -- Timer en python -- In-Reply-To: References: Message-ID: <1061110670.806.4.camel@renata.macondo.pri> Mira esto: import threading def h(): print 'fff' lanza() def lanza(): t=threading.Timer(3.0,h) t.start() lanza() Cuando preguntes en una lista, da más detalles. Especialmente, si dices 'me da error', pon qué error es. http://www.sindominio.net/ayuda/preguntas-inteligentes.html Cómo hacer preguntas de manera inteligente por Eric S. Raymond El dom, 17-08-2003 a las 00:27, CHRISTAL escribió: > Al final consegui que me funcionara, pero lo que no se como hacer es que > se repita constantemente, no que solo lo haga una vez a los 5 segundos > (por ejemplo) sino cada 5 segundos saltara a esa funcion. Como lo meto en > un loop? Porque si en la funcion a la que llama vuelvo a activar el timer, > me da error. Como puedo hacerlo? necesito que cada 5 segundos entre a esa > funcion... > > Un saludo y gracias! > > > On Sat, 16 Aug 2003, Marcos Sánchez Provencio wrote: > > > CHRISTAL wrote: > > > > >Alguien sabe como hacer un timer en python? es decir, que cada X > > >segundos salte a una funcion que yo le indique? > > >He probado el ejemplo de esta web, pero me da error: > > >http://www.python.org/doc/current/lib/timer-objects.html#l2h-2549 > > >Dice que la clase timer esta dentro del modulo Threading y en cambio no > > >me lo reconoce python (tengo la version 2.2) > > >Saludos y gracias > > > > > > > > > > > A mí me va: > > > > marcos en renata:~$ python2.2 > > Python 2.2.2 (#1, Jan 31 2003, 11:08:26) > > [GCC 2.95.4 20011002 (Debian prerelease)] on linux2 > > Type "help", "copyright", "credits" or "license" for more information. > > > > >>> import threading > > > > >>> def h(): > > ... print 'fff' > > ... > > >>> t=threading.Timer(3.0,h) > > >>> t.start() > > >>> print 1 > > 1 > > >>> ffff > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Marcos Sánchez Provencio ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jcea en argo.es Sun Aug 17 16:13:46 2003 From: jcea en argo.es (Jesus Cea Avion) Date: Sun, 17 Aug 2003 16:13:46 +0200 Subject: Guido van Rossum Speaks References: <1061088036.334.8.camel@debian> Message-ID: <3F3F8D9A.25442254@argo.es> http://barrapunto.com/article.pl?sid=03/08/17/0025257&mode=thread kmilo wrote: > > Entrevista con Guido: > > http://www.onlamp.com/pub/a/python/2003/08/14/gvr_interview.html?page=1 > > -- > /kmilo > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- Jesus Cea Avion _/_/ _/_/_/ _/_/_/ jcea en argo.es http://www.argo.es/~jcea/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/_/_/_/ PGP Key Available at KeyServ _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ch3m4 en ch3m4.org Mon Aug 18 10:18:21 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Mon, 18 Aug 2003 10:18:21 +0200 Subject: que me recomiendan In-Reply-To: <64F59119.7BBEA78F.441BE8AE@netscape.net> References: <64F59119.7BBEA78F.441BE8AE@netscape.net> Message-ID: Miguel B escribió: > Un programa que tengo en VB6 + MS Access lo quiero pasar a wxpython + postgresql. En estos momentos tengo un modulo donde capturo varios campos para guardarlos en la BD, donde al introducir los datos voy validando, las dudas son Aunque no tengo demasiada experiencia con wxPython,... > 1.- como se les hace esto o me recomiendan otro forma? > > def OntxtCapturoChar(self, event): > key=event.GetKeyCode() > if key in range(256): Con este 'if' te estás eliminando el resto de códigos "no-ascii", llamados códigos virtuales. Entre éstos están los movimientos del cursor, y es por eso que no te funcionan. > #if para pasar al siguiente campo > if key ==13 : > self.txtFecha.Enable(true) > self.txtFecha.SetFocus() > self.txtCapturo.Enable(false) > #if para validar solo numeros > elif (key >= 48 and key <= 57): > #agrego el caracter al campo > self.txtCapturo.AppendText(chr(key)) > #if para permitir el backspace > elif key==8: > event.Skip() Te propongo éste cambio (no lo he probado :-S ) def OntxtCapturoChar(self, event): key=event.GetKeyCode() #if para pasar al siguiente campo if key==wx.WXK_RETURN : self.txtFecha.Enable(true) self.txtFecha.SetFocus() self.txtCapturo.Enable(false) #if para validar solo numeros elif ord('0')<=key<=ord('9')): #agrego el caracter al campo self.txtCapturo.AppendText(chr(key)) #if para permitir el backspace elif key==wx.WXK_BACK: event.Skip() #if para permitir códigos virtuales elif key > 256: event.Skip() Los dos últimos 'elif' se pueden combinar en uno sólo. > > 2.- pero si quiero mover el cursor con las flechas no se mueve, como le puedo hacer para hacerlo? > > 3.- En VB podia hacer arrglos de controles, se puede tambien en python? Las colecciones del VB las puedes implementar con listas. El uso del 'for' del python sería idéntico al 'for each' del VB. From py en ch3m4.org Mon Aug 18 12:59:53 2003 From: py en ch3m4.org (Chema =?iso-8859-1?b?Q29ydOlz?=) Date: Mon, 18 Aug 2003 03:59:53 -0700 Subject: Fwd: ayuda!! Message-ID: <1061204393.3f40b1a955743@www.ch3m4.org> ----- Mensaje reenviado de Sonia ----- Fecha: Mon, 18 Aug 2003 12:09:57 -0500 De: Sonia Responder-A: Sonia Asunto: ayuda!! Para: ch3m4 en ch3m4.org DUDA: hola! suponiendo q coste_tramo y lista_min son listas yo quiero sumar todos los elementos de la lista coste_tramo a continuacion sumar todos los elementos de la lista lista_min y por finalizar como resultado quiero la suma de coste_tramo - la suma lista_min somo no se puede sumar listas y elementos se me habia ocurrido esta manera, pero tampoco esta bien(creo) q es lo q falla?? for i in range(0,len(coste_tramo)): coste=coste+[coste_tramo[i]] for j in range(0,len(lista_min)): dto=dto+[lista_min[j]] # ERROR AQUI!!! 'unsuported opperand types for +: int and list' #arriba he hecho lo mismo y no me da error?¿?¿?¿ rdo=coste-dto de esta forma 2º no se puede verdad? no se puede asignar a una variable, un elemento de la lista? for i in range(0,len(coste_tramo)): suma=coste_tramo[i] #suma es una variable cualquiera coste=coste+suma for j in range(0,len(lista_min)): gratis=lista_min[j] #gratis es otra variable dto=dto+gratis rdo=coste-dto ----- Fin del mensaje reenviado ----- ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From bacterio en terra.es Mon Aug 18 14:04:05 2003 From: bacterio en terra.es (=?ISO-8859-1?Q?Germ=E1n?=) Date: 18 Aug 2003 14:04:05 +0200 Subject: Fwd: ayuda!! In-Reply-To: <1061204393.3f40b1a955743@www.ch3m4.org> References: <1061204393.3f40b1a955743@www.ch3m4.org> Message-ID: <1061208099.15831.16.camel@trantor.movidream> Uff. Creo que tienes un poco de lio con el uso de 'for'. Para ir cogiendo cada uno de los elementos de una lista basta con hacer 'for valor in lista', por ejemplo: lista = ['hola',4,9.2,'bye'] for valor in lista: print valor El problema que planteas yo lo haria asi: # Obtenemos la suma de lista_min suma_lm = 0 for v in lista_min: suma_lm = suma_lm + v # Obtenemos la suma de suma_ct suma_ct = 0 for v in coste_tramo: suma_ct = suma_ct + v # Imprimimos la diferencia print suma_ct - suma_lm ¿Te he ayudado con esto? El lun, 18 de 08 de 2003 a las 12:59, Chema Cortés escribió: > ----- Mensaje reenviado de Sonia ----- > Fecha: Mon, 18 Aug 2003 12:09:57 -0500 > De: Sonia > Responder-A: Sonia > Asunto: ayuda!! > Para: ch3m4 en ch3m4.org > > DUDA: > > hola! > suponiendo q coste_tramo y lista_min son listas > yo quiero sumar todos los elementos de la lista coste_tramo > a continuacion sumar todos los elementos de la lista lista_min > y por finalizar como resultado quiero la suma de coste_tramo - la suma lista_min > somo no se puede sumar listas y elementos se me habia ocurrido esta manera, pero > tampoco esta bien(creo) > q es lo q falla?? > > for i in range(0,len(coste_tramo)): > > coste=coste+[coste_tramo[i]] > for j in range(0,len(lista_min)): > > dto=dto+[lista_min[j]] # ERROR AQUI!!! 'unsuported opperand types > for +: int and list' > #arriba he hecho lo mismo y no me da > error?¿?¿?¿ > rdo=coste-dto > > > > > de esta forma 2º no se puede verdad? no se puede asignar a una variable, un > elemento de la lista? > > > > > > for i in range(0,len(coste_tramo)): > suma=coste_tramo[i] #suma es una variable cualquiera > coste=coste+suma > for j in range(0,len(lista_min)): > gratis=lista_min[j] #gratis es otra variable > dto=dto+gratis > rdo=coste-dto > > ----- Fin del mensaje reenviado ----- > > > ______________________________________________________________________ > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ch3m4 en ch3m4.org Mon Aug 18 14:55:08 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-15?Q?Chema_Cort=E9s?=) Date: Mon, 18 Aug 2003 14:55:08 +0200 Subject: Fwd: ayuda!! In-Reply-To: <1061208099.15831.16.camel@trantor.movidream> References: <1061204393.3f40b1a955743@www.ch3m4.org> <1061208099.15831.16.camel@trantor.movidream> Message-ID: Germán escribió: > Uff. Creo que tienes un poco de lio con el uso de 'for'. > > Para ir cogiendo cada uno de los elementos de una lista basta con hacer > 'for valor in lista', por ejemplo: > > lista = ['hola',4,9.2,'bye'] > for valor in lista: > print valor > > El problema que planteas yo lo haria asi: > > # Obtenemos la suma de lista_min > suma_lm = 0 > for v in lista_min: > suma_lm = suma_lm + v > > # Obtenemos la suma de suma_ct > suma_ct = 0 > for v in coste_tramo: > suma_ct = suma_ct + v > > # Imprimimos la diferencia > print suma_ct - suma_lm Aunque está bien, yo lo haría así: print sum(coste_tramo) - sum(lista_min) Lo siento, no he podido resistirme :-)) Hay que aprovecharse de las facilidades. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lopez en esrf.fr Mon Aug 18 15:07:27 2003 From: lopez en esrf.fr (Angel Lopez =?iso-8859-1?Q?Mu=F1oz?=) Date: Mon, 18 Aug 2003 15:07:27 +0200 Subject: Programas python. Message-ID: <5.1.0.14.0.20030818144707.00ab5b20@mailserv.esrf.fr> Hola a todos, queria haceros una pregunta sobre el ofrecimiento de programas que unos y otros hacemos para solucionarnos algún problema y que normalmente pensamos que no sirve para nadie más porque no es un programa muy bueno, o que solo sirve para nuestro problema particular, pero tal vez, pueda serle util a mas personas. Conoceis algun lugar donde puedan publicarse ese tipo de programas? Talvez a traves de esta lista pueda hacerse algo al respecto sobre programas python?? Todo esto me ha surgido a raiz de un reciente hobby que que tengo que es el de coleccionar las monedas de euro. Un dia me planteé la posibilidad de hacerme un programita para llevar el control de la colección y decidí hacerlo en python. Para la interfaz gráfica he utilizado PyQT. Si alguien piensa que le podría venir bien, estaria encantado de enviarle el código, que lamentablemente carece de todos los comentarios que debiera, y seguramente no esta muy claro en algunos aspectos, pero bueno, mas o menos funciona. El único problema es que las imagenes que necesita para las banderas de los paises y las monedas, ocupan bastante (5MB) tengo que mirar a ver si puedo hacerlas mas ligeras... pero esque son 120 monedas. Otra cosa es que en principio algunas partes del programa solo van a funcionar en windows, pero es cuestion de poca cosa cambiarlo para que fuenciones un linux. Pues eso, si a alguien le interesa o bien lo de arriba sobre compartir programas... Un saludo y hasta luego. ____________________________________ Angel Lopez Muñoz Spanish CRG BeamLine at the European Synchrotron Radiation Facility 6, Rue Jules Horowitz ESRF-B. P. 220 F-38043 Grenoble Cedex 09 France Tel. +33-(0)476882449 Fax +33-(0)476882816 From oziko en fusiondementes.com Mon Aug 18 16:09:05 2003 From: oziko en fusiondementes.com (Javier Reyna Padilla) Date: Mon, 18 Aug 2003 09:09:05 -0500 (CDT) Subject: Programas python. In-Reply-To: <5.1.0.14.0.20030818144707.00ab5b20@mailserv.esrf.fr> References: <5.1.0.14.0.20030818144707.00ab5b20@mailserv.esrf.fr> Message-ID: Yo estaba buscando unn sitio para novatos y encontre una liga a uno que dice tener programas de ejemplos sencillos para novatos, osea programas que en realidad son poco útiles en porgramas reales,se llama Python Inutil el sitio el problema es que el sitio al aintentar accesar, no existe. Si alguien conoce un sitio similar pues ojala lo mencione, o si alguna persona gusta ayudarme a la creacion de un sitio asi, pues que me envíe un correo para discutir que tan viable sería. On Mon, 18 Aug 2003, Angel Lopez Muñoz wrote: > Hola a todos, > > queria haceros una pregunta sobre el ofrecimiento de programas que unos y > otros hacemos para solucionarnos algún problema y que normalmente pensamos > que no sirve para nadie más porque no es un programa muy bueno, o que solo > sirve para nuestro problema particular, pero tal vez, pueda serle util a > mas personas. > > Conoceis algun lugar donde puedan publicarse ese tipo de programas? > > Talvez a traves de esta lista pueda hacerse algo al respecto sobre > programas python?? > > Todo esto me ha surgido a raiz de un reciente hobby que que tengo que es el > de coleccionar las monedas de euro. Un dia me planteé la posibilidad de > hacerme un programita para llevar el control de la colección y decidí > hacerlo en python. Para la interfaz gráfica he utilizado PyQT. > > Si alguien piensa que le podría venir bien, estaria encantado de enviarle > el código, que lamentablemente carece de todos los comentarios que debiera, > y seguramente no esta muy claro en algunos aspectos, pero bueno, mas o > menos funciona. El único problema es que las imagenes que necesita para las > banderas de los paises y las monedas, ocupan bastante (5MB) tengo que mirar > a ver si puedo hacerlas mas ligeras... pero esque son 120 monedas. > Otra cosa es que en principio algunas partes del programa solo van a > funcionar en windows, pero es cuestion de poca cosa cambiarlo para que > fuenciones un linux. > > > Pues eso, si a alguien le interesa o bien lo de arriba sobre compartir > programas... > > Un saludo y hasta luego. > > > ____________________________________ > Angel Lopez Muñoz > Spanish CRG BeamLine > at the European Synchrotron Radiation Facility > > 6, Rue Jules Horowitz > ESRF-B. P. 220 > F-38043 Grenoble Cedex 09 > France > > Tel. +33-(0)476882449 > Fax +33-(0)476882816 > > > > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > -- From rvr en infoastro.com Mon Aug 18 14:14:11 2003 From: rvr en infoastro.com (=?iso-8859-1?q?V=EDctor=20R=2E?= Ruiz) Date: Mon, 18 Aug 2003 14:14:11 +0200 Subject: Programas python. In-Reply-To: <5.1.0.14.0.20030818144707.00ab5b20@mailserv.esrf.fr> References: <5.1.0.14.0.20030818144707.00ab5b20@mailserv.esrf.fr> Message-ID: <200308181414.11461.rvr@infoastro.com> Hola: El Lunes, 18 de Agosto de 2003 15:07, Angel Lopez Muñoz escribió: > Conoceis algun lugar donde puedan publicarse ese tipo de programas? Una buena combinación es SourceForge (para alojar el código) y freshmeat.net (como lista de aplicaciones). Saludetes, -- Víctor R. Ruiz | - Todos estos momentos se perderán Centro de Astrobiología CSIC-INTA | como lágrimas en la lluvia From ch3m4 en ch3m4.org Mon Aug 18 16:41:37 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Mon, 18 Aug 2003 16:41:37 +0200 Subject: Programas python. In-Reply-To: References: <5.1.0.14.0.20030818144707.00ab5b20@mailserv.esrf.fr> Message-ID: Javier Reyna Padilla escribió: > Yo estaba buscando unn sitio para novatos y encontre una liga a uno que > dice tener programas de ejemplos sencillos para novatos, osea programas > que en realidad son poco útiles en porgramas reales,se llama Python > Inutil el sitio el problema es que el sitio al aintentar accesar, no > existe. Si alguien conoce un sitio similar pues ojala lo mencione, o si > alguna persona gusta ayudarme a la creacion de un sitio asi, pues que me > envíe un correo para discutir que tan viable sería. Puede que por "Python Inútil" te estés refiriendo a "Useless Python" http://www.uselesspython.com Si quieres una web en español con ejemplos sencillos puedes acudir a la web remodelada de Tomás Javier Robles: http://milugar.doesntexist.org Existen algunas webs personales con ejemplos simples: http://manatee.mojam.com/~skip/python/ http://diveintomark.org/projects/ http://rgruet.free.fr/ Sin olvidar tampoco los "snippets": http://sourceforge.net/snippet/browse.php?by=lang&lang=6 http://www.faqts.com/knowledge_base/index.phtml/fid/538 From elkalmail en yahoo.es Mon Aug 18 16:52:57 2003 From: elkalmail en yahoo.es (Carlos Garcia Campos) Date: Mon, 18 Aug 2003 16:52:57 +0200 Subject: Programas python. In-Reply-To: <200308181414.11461.rvr@infoastro.com> References: <5.1.0.14.0.20030818144707.00ab5b20@mailserv.esrf.fr> <200308181414.11461.rvr@infoastro.com> Message-ID: <1061218377.516.5.camel@kalpc> El lun, 18-08-2003 a las 14:14, Víctor R. Ruiz escribió: > Hola: > > El Lunes, 18 de Agosto de 2003 15:07, Angel Lopez Muñoz escribió: > > Conoceis algun lugar donde puedan publicarse ese tipo de programas? > > Una buena combinación es SourceForge (para alojar el código) y freshmeat.net > (como lista de aplicaciones). Precisamente ahora está empezando un nuevo proyecto en Hispalinux que a mi me parece realmente bueno. Se trata de Forja [1], que viene a ser como sourceforge. No se si está ya terminado o no, pero creo que va a ser el mejor sitio para alojar proyectos, ya sean grandes o pequeños, incluso he visto que hay una seccion que se llama "recortes de codigo" pensada precisamente para esos pequeños (o no tan pequeños) scripts que nos hacemos para facilitarnos alguna tarea y que puede que haya otra persona a la que le pueda interesar. Podeis echarle un vistazo en [1] http://libre.hispalinux.es/ > Saludetes, Salu2 -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Carlos Garcia Campos a.k.a. KaL elkalmail en yahoo.es carlosgc en gnome.org Grupo Linups - Secretaria Usuarios de SL/Linux de la UPSAM http://www.linups.org =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= PGP key: http://pgp.rediris.es:11371/pks/lookup?op=get&search=0x523E6462 ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Esta parte del mensaje está firmada digitalmente URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lopez en esrf.fr Mon Aug 18 18:00:13 2003 From: lopez en esrf.fr (Angel Lopez =?iso-8859-1?Q?Mu=F1oz?=) Date: Mon, 18 Aug 2003 18:00:13 +0200 Subject: Programas python. In-Reply-To: <1061218377.516.5.camel@kalpc> References: <200308181414.11461.rvr@infoastro.com> <5.1.0.14.0.20030818144707.00ab5b20@mailserv.esrf.fr> <200308181414.11461.rvr@infoastro.com> <1061218377.516.5.camel@kalpc> Message-ID: <5.1.0.14.0.20030818175838.00ab5c30@mailserv.esrf.fr> Acabo de echar un vistazo a tu pagina en hispalinux, y me parece que tiene muy, pero que muy buena pinta. Tengo que mirarlo mas detenidamentte. Un saludo. At 16:52 18/08/2003 +0200, you wrote: >Precisamente ahora está empezando un nuevo proyecto en Hispalinux que a >mi me parece realmente bueno. Se trata de Forja [1], que viene a ser >como sourceforge. No se si está ya terminado o no, pero creo que va a >ser el mejor sitio para alojar proyectos, ya sean grandes o pequeños, >incluso he visto que hay una seccion que se llama "recortes de codigo" >pensada precisamente para esos pequeños (o no tan pequeños) scripts que >nos hacemos para facilitarnos alguna tarea y que puede que haya otra >persona a la que le pueda interesar. >Podeis echarle un vistazo en > >[1] http://libre.hispalinux.es/ > > > Saludetes, > >Salu2 >-- >=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= > Carlos Garcia Campos a.k.a. KaL > elkalmail en yahoo.es > carlosgc en gnome.org > Grupo Linups - Secretaria > Usuarios de SL/Linux de la UPSAM > http://www.linups.org >=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= >PGP key: http://pgp.rediris.es:11371/pks/lookup?op=get&search=0x523E6462 > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es ____________________________________ Angel Lopez Muñoz Spanish CRG BeamLine at the European Synchrotron Radiation Facility 6, Rue Jules Horowitz ESRF-B. P. 220 F-38043 Grenoble Cedex 09 France Tel. +33-(0)476882449 Fax +33-(0)476882816 From siosss en hotmail.com Tue Aug 19 01:39:33 2003 From: siosss en hotmail.com (Sonia) Date: Mon, 18 Aug 2003 18:39:33 -0500 Subject: Fwd: ayuda!! References: <1061204393.3f40b1a955743@www.ch3m4.org><1061208099.15831.16.camel@trantor.movidream> Message-ID: hola de nuevo! al recorrer las listas como me dijiste y sumar sus numeros para despues restar su total, ya me funciona. el problema ahora es q tengo 2 opciones. recorrerla de principio a fin, y de fin a principio. de principio a fin no hay ningun problema(creo q me da bien) , pero al hacer lo contrario siempre me da 0 (cero) y no se donde esta el cambio. simplemente he hecho en vez de: if ini<=fin: #recorremos la lista de ppio a fin while ini<=fin: coste_tramo.append(coste[ini]) #costes lista_aux.append(tramo[ini]) #tramos ini=ini+1 #LO CAMBIO POR ESTO: else: #recorremos la lista de fin a principio while fin>=ini: coste_tramo.append(coste[fin]) #costes lista_aux.append(tramo[fin]) #tramos fin=fin-1 #no se si el problema esta aqui #por si acaso te mando el enunciado y el problema al completo #Mediante una lista de 40 numeros , llamada coste_tramo, se representa el coste en euros de cada uno de los 40 tramos de una autopista. Asi, al recorrer el tramo i de la autopista tiene un coste de coste_tramo[i] euros. #Diseña una funcion q, a partir de una lista y 2 numeros de tramos, ini y fin, calcule el coste de recorrer consecutivamente los tramos de la autopista q van desde ini hasta fin (ambos inclusive). #Para ello deberas tener en cuenta las siguientes consideraciones: # 1-los tramos de la autopista se pueden recorrer en ambos sentidos # 2-por cada 3 tramos recorridos el mas barato de ellos, sera gratuito #nota: debes suponer q los numeros de tramos pasados a la funcion , ini y fin, seran siempre indices validos en la lista def minimo(lista): #calcula el minimo de una lista (importe a descontar) min=lista[0] for i in range(0,len(lista)): if lista[i]=ini: coste_tramo.append(coste[fin]) #costes lista_aux.append(tramo[fin]) #tramos fin=fin-1 if len(lista_aux)==3: lista_min.append(minimo(coste_tramo)) #gratis lista_aux=[] for i in coste_tramo: pego=pago+i for j in lista_min: dto=dto+j rdo=pago-dto print rdo #programa principal tramo=[0,1,2,3,4,5,6,7,8,9,10,11,12] coste=[2,3,2,2,1,2,3,4,4,2,3,3,2] ini=int(raw_input('Introduce ini: ')) fin=int(raw_input('introduce fin: ')) recorrer(coste,tramo,ini,fin) #comprobacion: #recorrido del tramo 10 al tramo 4= 15 euros #recorrido del tramo 4 al tramo 10= 16 euros ----- Original Message ----- From: Chema Cortés To: Sent: Monday, August 18, 2003 7:55 AM Subject: [Python-es] Re: Fwd: ayuda!! > Germán escribió: > > Uff. Creo que tienes un poco de lio con el uso de 'for'. > > > > Para ir cogiendo cada uno de los elementos de una lista basta con hacer > > 'for valor in lista', por ejemplo: > > > > lista = ['hola',4,9.2,'bye'] > > for valor in lista: > > print valor > > > > El problema que planteas yo lo haria asi: > > > > # Obtenemos la suma de lista_min > > suma_lm = 0 > > for v in lista_min: > > suma_lm = suma_lm + v > > > > # Obtenemos la suma de suma_ct > > suma_ct = 0 > > for v in coste_tramo: > > suma_ct = suma_ct + v > > > > # Imprimimos la diferencia > > print suma_ct - suma_lm > > Aunque está bien, yo lo haría así: > > print sum(coste_tramo) - sum(lista_min) > > > > Lo siento, no he podido resistirme :-)) > Hay que aprovecharse de las facilidades. > > > ---------------------------------------------------------------------------- ---- _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es ----- Original Message ----- From: Chema Cortés To: Sent: Monday, August 18, 2003 7:55 AM Subject: [Python-es] Re: Fwd: ayuda!! > Germán escribió: > > Uff. Creo que tienes un poco de lio con el uso de 'for'. > > > > Para ir cogiendo cada uno de los elementos de una lista basta con hacer > > 'for valor in lista', por ejemplo: > > > > lista = ['hola',4,9.2,'bye'] > > for valor in lista: > > print valor > > > > El problema que planteas yo lo haria asi: > > > > # Obtenemos la suma de lista_min > > suma_lm = 0 > > for v in lista_min: > > suma_lm = suma_lm + v > > > > # Obtenemos la suma de suma_ct > > suma_ct = 0 > > for v in coste_tramo: > > suma_ct = suma_ct + v > > > > # Imprimimos la diferencia > > print suma_ct - suma_lm > > Aunque está bien, yo lo haría así: > > print sum(coste_tramo) - sum(lista_min) > > > > Lo siento, no he podido resistirme :-)) > Hay que aprovecharse de las facilidades. > > > ---------------------------------------------------------------------------- ---- _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From siosss en hotmail.com Tue Aug 19 02:27:13 2003 From: siosss en hotmail.com (Sonia) Date: Mon, 18 Aug 2003 19:27:13 -0500 Subject: sobre listas Message-ID: hola! si tengo una lista de palabras como puedo saber la letra mas frecuente q hay entre todas las palabras con solo palabras esta claro: for palabra in lista: .... pero para las letras,supongo q seria: for palabra in lista: for letra in palabras: #creo otra lista_frecuencia y digo ahora for letra in lista_frecuencia??? #y pongo todas las letras iguales en una lista, depues las cuento, guardo el numero y pongo la lista en [] para otra letra?? #es este un camino correcto?? gracias!! un final supongo q podra ser: .............. letra_max=letra for letra in lista_frecuencia: if lista_frecuencia[letra]>lista_frecuencia[letra_max]: letra_max=letra for pal in lista: if letra_max in pal: rdo.append(pal) return (letra_max,rdo) .............. alguna sugerencia??? ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From larreategi en eibar.org Mon Aug 18 20:36:19 2003 From: larreategi en eibar.org (Mikel Larreategi) Date: Mon, 18 Aug 2003 20:36:19 +0200 Subject: sobre listas In-Reply-To: References: Message-ID: <1643975143.20030818203619@eibar.org> 19/08/03-n Sonia-(e)k idatzi du: El martes, 19 de agosto de 2003 Sonia escribió: > hola! > si tengo una lista de palabras > como puedo saber la letra mas frecuente q hay entre todas las palabras > con solo palabras esta claro: > for palabra in lista: > .... > pero para las letras,supongo q seria: > for palabra in lista: > for letra in palabras: > #creo otra lista_frecuencia y digo ahora for letra in lista_frecuencia??? > #y pongo todas las letras iguales en una lista, depues las cuento, guardo el > #numero y pongo la lista en [] para otra letra?? > #es este un camino correcto?? Hola, esta es mi primera intervencion en la lista, por lo que saludos a todos. Soy un novato en esto de Python, pero estos ejercicios de Programacion me suenan, solo que yo los tenia que hacer en Ada :) Yo creo que lo mas facil sera hacer algo asi: lista = ''.join(listaDePalabras) Con eso obtienes en un string o lista de caracteres todos los caracteres de las palabras de la lista. Puedes verlo mas claro con este ejemplo: lista = '' for i in listaDePalabras: lista = lista + i Y luego recorres la listacomo si estuvieras mirando cual es la letra que mas repite en una palabra. Saludos, Mikel Larreategi ---- http://usuarios.lycos.es/erral PGP Key ID: 0x597B543C Bidaltzen dizkidazun mezuekin arazorik baduzu (zerbitzariak itzultzen baditu, ...) bidali helbide honetara: Si tienes problemas con los mensajes que me mandas (devolucion, ...) envialos a: erral2000 en euskalnet.net Barkatu eragozpenak Perdona las molestias From jmga4 en eresmas.com Mon Aug 18 21:01:56 2003 From: jmga4 en eresmas.com (Jose Gonzalez) Date: Mon, 18 Aug 2003 19:01:56 GMT Subject: Programa python...uno de mus Message-ID: A principios de verano empece a hacer un juego de mus en Python y wxPython,. No es para jugar en red, aunque se podría añadir,no con demasiada dificultad. Aunque es jugable, todavia queda mucho por mejorar, sobre todo algunos fallos a la hora del tanteo y los jugadores manejados por el ordenador podrían ser un poco mas "inteligentes". La estructuracion del codigo no es demasiado buena, ya que empece y no supe ni lo que queria hacer. Si alguien le interesa le paso el codigo, o alguna ayuda para intentar colocarlo en alguna pagina estilo sourceforge o menos compleja porque lo vi demasiado complicado. -- Jose[jmga4 en eresmas.com] -- ----------------------------------------------------------------------- Guía telefónica QDQ.COM. - La forma más sencilla de encontrar todas las empresas, comercios y profesionales de España. http://www.eresmas.com/banners/promo.html?qdq1 ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: jmga4.vcf Type: text/x-vcard Size: 5 bytes Desc: Card for Jose Gonzalez URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ch3m4 en ch3m4.org Tue Aug 19 09:56:48 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-15?Q?Chema_Cort=E9s?=) Date: Tue, 19 Aug 2003 09:56:48 +0200 Subject: Fwd: ayuda!! In-Reply-To: References: <1061204393.3f40b1a955743@www.ch3m4.org><1061208099.15831.16.camel@trantor.movidream> Message-ID: Sonia escribió: > al recorrer las listas como me dijiste y sumar sus numeros para despues > restar su total, ya me funciona. > el problema ahora es q tengo 2 opciones. recorrerla de principio a fin, y de > fin a principio. de principio a fin no hay ningun problema(creo q me da > bien) , pero al hacer lo contrario siempre me da 0 (cero) y no se donde esta > el cambio. simplemente he hecho en vez de: > > > if ini<=fin: #recorremos la lista de ppio a fin > while ini<=fin: > > coste_tramo.append(coste[ini]) #costes > lista_aux.append(tramo[ini]) #tramos > ini=ini+1 > > #LO CAMBIO POR ESTO: > > > else: #recorremos la lista de fin a principio > > while fin>=ini: > coste_tramo.append(coste[fin]) #costes > lista_aux.append(tramo[fin]) #tramos > fin=fin-1 > > #no se si el problema esta aqui > #por si acaso te mando el enunciado y el problema al completo Menos mal que has puesto el enunciado, porque con esto poco se te puede decir. Tienes mal puestos las condiciones. En un sentido ini<=fin; en el sentido contrario ini>fin > #Mediante una lista de 40 numeros , llamada coste_tramo, se representa el > coste en euros de cada uno de los 40 tramos de una autopista. Asi, al > recorrer el tramo i de la autopista tiene un coste de coste_tramo[i] euros. > #Diseña una funcion q, a partir de una lista y 2 numeros de tramos, ini y > fin, calcule el coste de recorrer consecutivamente los tramos de la > autopista q van desde ini hasta fin (ambos inclusive). > #Para ello deberas tener en cuenta las siguientes consideraciones: > # 1-los tramos de la autopista se pueden recorrer en ambos sentidos > # 2-por cada 3 tramos recorridos el mas barato de ellos, sera gratuito Tienes dos posibilidades: 1) intentar "recorrer" la lista entre los dos tramos que te dicen, 2) crear una lista auxiliar con los elementos que necesitas. Te aconsejo la segunda opción. Utiliza el rebanado de listas: L_aux=L[i:j] ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ch3m4 en ch3m4.org Tue Aug 19 10:16:59 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Tue, 19 Aug 2003 10:16:59 +0200 Subject: sobre listas In-Reply-To: References: Message-ID: Sonia escribió: > hola! > si tengo una lista de palabras > como puedo saber la letra mas frecuente q hay entre todas las palabras > > con solo palabras esta claro: > for palabra in lista: > .... > > pero para las letras,supongo q seria: > > for palabra in lista: > for letra in palabras: > #creo otra lista_frecuencia y digo ahora for letra in > lista_frecuencia??? > #y pongo todas las letras iguales en una lista, depues las > cuento, guardo el numero y pongo la lista en [] para otra letra?? > #es este un camino correcto?? Vas bien encaminada, pero te falta pensar mejor cómo almacenar los resultados. En lugar de ir guardando las letras iguales en otra lista, lo mejor es que vayas contando. El problema conceptual de este ejercicio es que no te basta con un sólo contador, sino que tendrás que utilizar una lista de ellos. Suponiendo que las palabras sólo usan ascii, tendrás que utilizar una lista de 256 contadores: lista_frecuencia=[0]*256 donde lista_frecuencia[i] será la frecuencia de la letra de código ascii 'i' (te dejo que lo resuelvas por tí misma) Como corolario, hay que decir que en python se pueden utilizar unicodes, y que no bastaría con una lista de 256 elementos de contadores. La solución pasaría por utilizar diccionarios en lugar de listas. Lo dejo como ejercicio. From ch3m4 en ch3m4.org Tue Aug 19 12:02:37 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Tue, 19 Aug 2003 12:02:37 +0200 Subject: ayuda con un problema de python In-Reply-To: <003e01c36292$0c343080$c3b3ca51@Sonia> References: <000e01c35fa8$4f1c3920$c3b3ca51@Sonia><20030810193921.GA13323@dimension-virtual.com><001801c3602e$539bfe00$c3b3ca51@Sonia><008e01c3605c$ca0838a0$c3b3ca51@Sonia><000601c3611f$08c1b9a0$c3b3ca51@Sonia><00a301c361b4$f50726c0$c3b3ca51@Sonia><000601c361c1$71d6f0c0$c3b3ca51@Sonia><001701c361c9$ea7a24e0$c3b3ca51@Sonia><004801c36276$46fc2ae0$c3b3ca51@Sonia><005e01c3627b$682599e0$c3b3ca51@Sonia> <003301c3628f$c0b77600$c3b3ca51@Sonia> <003e01c36292$0c343080$c3b3ca51@Sonia> Message-ID: Sonia escribió: > OOOOKKKKKKKKK !!!!!!!!!!!!! > > por fin, va perfecto!!!! > > graciassssss!!!!!!!!!! Bueno, pues pongo mi versión: def sobre_la_media(notas,codigos,nif,codigo_asig): #localizamos posición de la asignatura en la lista pos=codigos.index(codigo_asig) #calculamos la media de los presentados lista_notas=[ l[pos] for l in notas if l[pos]>=0] media=sum(lista_notas)/len(lista_notas) #presentamos los que superen la media for i,n in enumerate(nif): if notas[i][pos]>media: print n def maxpresentados(notas,codigos): vmax=0.0 cod_max="" for i,cod in enumerate(codigos): matriculados=0 presentados=0 for n in notas: if n[i]<>-2: matriculados+=1 if n[i]<>-1: presentados+=1 if matriculados>0: m=float(presentados)/float(matriculados) if m>vmax: vmax,cod_max=m,cod print cod_max From dvilla en gmx.net Tue Aug 19 12:11:51 2003 From: dvilla en gmx.net (dvilla en gmx.net) Date: Tue, 19 Aug 2003 12:11:51 +0200 Subject: sobre listas In-Reply-To: References: Message-ID: <20030819121151.6d2a5d51.dvilla@gmx.net> Hola: Yo estoy más de acuerdo con Mikel. Partes de una lista de palabras: >>> listapal = ['hola','mundo','otra','vez'] Si siquieres la letra más frecuente puedes concatenar todas las palabras en una sola: >>> todo = ''.join(listapal) Luego lo convertimos todo a ASCII (veremos porqué hago esto) >>> todo = map(ord, todo) Ahora calculamos la frecuencia de cada letra: >>> frec = map(todo.count, range(0, 255)) # range() sólo admite enteros, por eso hice el ord(). Y ya está, el indice del mayor elemento de frec es la letra más repetida. Aqui pongo el código completo: listapal = ['hola','mundo','otra','vez'] todo = map(ord, ''.join(listapal)) frec = map(todo.count, range(0, 255)) letra = chr(frec.index(max(frec))) print 'la letra mas repetida es "', letra, '"' Puede parecer un poco confuso al principio pero si te habituas al map() practicamente no tienes que hacer for's para nada. Si alguien tiene alguna duda de cómo funciona esto que lo diga. Saludos, El Tue, 19 Aug 2003 10:16:59 +0200 Chema Cortés escribió: > Sonia escribió: > > > hola! > > si tengo una lista de palabras > > como puedo saber la letra mas frecuente q hay entre todas las palabras > > > > con solo palabras esta claro: > > for palabra in lista: > > .... > > > > pero para las letras,supongo q seria: > > > > for palabra in lista: > > for letra in palabras: > > #creo otra lista_frecuencia y digo ahora for letra in > > lista_frecuencia??? > > #y pongo todas las letras iguales en una lista, depues las > > cuento, guardo el numero y pongo la lista en [] para otra letra?? > > #es este un camino correcto?? > > Vas bien encaminada, pero te falta pensar mejor cómo almacenar los > resultados. En lugar de ir guardando las letras iguales en otra lista, > lo mejor es que vayas contando. El problema conceptual de este ejercicio > es que no te basta con un sólo contador, sino que tendrás que utilizar > una lista de ellos. > > Suponiendo que las palabras sólo usan ascii, tendrás que utilizar una > lista de 256 contadores: > > lista_frecuencia=[0]*256 > > donde lista_frecuencia[i] será la frecuencia de la letra de código ascii 'i' > > (te dejo que lo resuelvas por tí misma) > > > Como corolario, hay que decir que en python se pueden utilizar unicodes, > y que no bastaría con una lista de 256 elementos de contadores. La > solución pasaría por utilizar diccionarios en lugar de listas. Lo dejo > como ejercicio. > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From ch3m4 en ch3m4.org Tue Aug 19 13:29:11 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Tue, 19 Aug 2003 13:29:11 +0200 Subject: sobre listas In-Reply-To: <20030819121151.6d2a5d51.dvilla@gmx.net> References: <20030819121151.6d2a5d51.dvilla@gmx.net> Message-ID: dvilla en gmx.net escribió: > Hola: > > Yo estoy más de acuerdo con Mikel. Partes de una lista de palabras: > > >>>>listapal = ['hola','mundo','otra','vez'] > > > Si siquieres la letra más frecuente puedes concatenar todas las palabras en una > sola: > > >>>>todo = ''.join(listapal) > > > Luego lo convertimos todo a ASCII (veremos porqué hago esto) > > >>>>todo = map(ord, todo) > > > Ahora calculamos la frecuencia de cada letra: > > >>>>frec = map(todo.count, range(0, 255)) > > # range() sólo admite enteros, por eso hice el ord(). > > Y ya está, el indice del mayor elemento de frec es la letra más repetida. > > Aqui pongo el código completo: > > > listapal = ['hola','mundo','otra','vez'] > > todo = map(ord, ''.join(listapal)) > > frec = map(todo.count, range(0, 255)) > > letra = chr(frec.index(max(frec))) > > print 'la letra mas repetida es "', letra, '"' > > Puede parecer un poco confuso al principio pero si te habituas al map() > practicamente no tienes que hacer for's para nada. Si alguien tiene alguna duda > de cómo funciona esto que lo diga. Es una solución bastante elegante. Tan sólo decirte un par de cosillas. Cuida con el range() que (aunque aquí no va a ser importante) no incluye el límite superior, o sea, debería ser range(0,256). Y en cuanto al map(), ya hemos comentado alguna vez que se está dejando de usar en favor de la compresión de listas. Con compresión de listas no hubieras necesitado convertir la lista a códigos ascii: listapal = ['hola','mundo','otra','vez'] todo = ''.join(listapal) frec = [ todo.count(char(i)) for i in range(256) ] letra = chr(frec.index(max(frec))) Una solución algo más bestia, pero que también valdría para unicodes: frec = [ todo.count(c) for c in todo ] letra = todo[frec.index(max(frec))] From dvilla en gmx.net Tue Aug 19 14:17:20 2003 From: dvilla en gmx.net (dvilla en gmx.net) Date: Tue, 19 Aug 2003 14:17:20 +0200 Subject: sobre listas In-Reply-To: References: <20030819121151.6d2a5d51.dvilla@gmx.net> Message-ID: <20030819141720.3f8a42df.dvilla@gmx.net> Hola: Ah, muy chulo. Lo de los LC aún no lo controlo. A mi me gusta el map() porque es como el foreach de la STL y puedes ver el problema del mismo modo, pero me apunto lo de los LC's. Saludos. El Tue, 19 Aug 2003 13:29:11 +0200 Chema Cortés escribió: > dvilla en gmx.net escribió: > > Hola: > > > > Yo estoy más de acuerdo con Mikel. Partes de una lista de palabras: > > > > > >>>>listapal = ['hola','mundo','otra','vez'] > > > > > > Si siquieres la letra más frecuente puedes concatenar todas las palabras en > > una sola: > > > > > >>>>todo = ''.join(listapal) > > > > > > Luego lo convertimos todo a ASCII (veremos porqué hago esto) > > > > > >>>>todo = map(ord, todo) > > > > > > Ahora calculamos la frecuencia de cada letra: > > > > > >>>>frec = map(todo.count, range(0, 255)) > > > > # range() sólo admite enteros, por eso hice el ord(). > > > > Y ya está, el indice del mayor elemento de frec es la letra más repetida. > > > > Aqui pongo el código completo: > > > > > > listapal = ['hola','mundo','otra','vez'] > > > > todo = map(ord, ''.join(listapal)) > > > > frec = map(todo.count, range(0, 255)) > > > > letra = chr(frec.index(max(frec))) > > > > print 'la letra mas repetida es "', letra, '"' > > > > Puede parecer un poco confuso al principio pero si te habituas al map() > > practicamente no tienes que hacer for's para nada. Si alguien tiene alguna > > duda de cómo funciona esto que lo diga. > > Es una solución bastante elegante. Tan sólo decirte un par de cosillas. > Cuida con el range() que (aunque aquí no va a ser importante) no incluye > el límite superior, o sea, debería ser range(0,256). > > Y en cuanto al map(), ya hemos comentado alguna vez que se está dejando > de usar en favor de la compresión de listas. Con compresión de listas no > hubieras necesitado convertir la lista a códigos ascii: > > listapal = ['hola','mundo','otra','vez'] > > todo = ''.join(listapal) > > frec = [ todo.count(char(i)) for i in range(256) ] > > letra = chr(frec.index(max(frec))) > > > Una solución algo más bestia, pero que también valdría para unicodes: > > frec = [ todo.count(c) for c in todo ] > letra = todo[frec.index(max(frec))] > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From ch3m4 en ch3m4.org Tue Aug 19 16:30:39 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Tue, 19 Aug 2003 16:30:39 +0200 Subject: sobre listas In-Reply-To: References: <20030819121151.6d2a5d51.dvilla@gmx.net> Message-ID: Chema Cortés escribió: > Una solución algo más bestia, pero que también valdría para unicodes: > > frec = [ todo.count(c) for c in todo ] > letra = todo[frec.index(max(frec))] Tomando un café me ha venido la inspiración de algunas versiones "menos bestias", válidas para unicodes. Ya advierto que algunas son bastantes complicadas: listapal = ['hola','mundo','otra','vez',u'\N{EURO SIGN}'*10] todo = ''.join(listapal) #### #versión 1 keys=dict.fromkeys(todo).keys() #nuevo en python 2.3 frec=[ todo.count(k) for k in keys ] letra=keys[frec.index(max(frec))] #### #versión 2 D=dict.fromkeys(todo) #nuevo en python 2.3 for k in D.keys(): D[k]=todo.count(k) letra=[ k for k,v in D.items() if v==max(D.values()) ][0] #### #versión 3, que funciona también en python 2.2.x keys=[] frec=[ todo.count(c) for c in todo if c not in keys and not keys.append(c) ] letra=keys[frec.index(max(frec))] #### #versión 4 "Absurda", pero va también en python 2.2.2 keys=[ c for c in todo if c not in locals()['_[1]'].__self__ ] frec=[ todo.count(k) for k in keys ] letra=keys[frec.index(max(frec))] # Explicación: # http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/204297 From luisjavier en basedigital.net Tue Aug 19 17:38:24 2003 From: luisjavier en basedigital.net (Luis Javier) Date: Tue, 19 Aug 2003 17:38:24 +0200 Subject: =?iso-8859-1?q?Petici=F3n_de_ejercicios?= Message-ID: <3F424470.2090704@basedigital.net> Hola; Llevo poco tiempo apuntado a la lista, me ha dado este verano por volver a intentar esto de la programación ;-) He leido el hilo entero de los problemas de Sonia, y estaba buscando algo parecido para ir practicando, antes de ponerme con algo más serio. Llevo poco tiempo con Python :-( Sonia ¿Seria posible que me enviases los enunciados de los ejercicios que tienes que hacer? o si alguien me puede indicar donde hay ejercicios (resueltos o no) le estaria agradecido. Un saludo. Luisjavier From pacodaniESTONO en inicia.es Tue Aug 19 21:40:10 2003 From: pacodaniESTONO en inicia.es (Francisco Igual) Date: Tue, 19 Aug 2003 21:40:10 +0200 Subject: =?ISO-8859-1?Q?Petici=F3n?= de ejercicios In-Reply-To: <3F424470.2090704@basedigital.net> References: <3F424470.2090704@basedigital.net> Message-ID: <20030819214010.72620904.pacodaniESTONO@inicia.es> El dia Tue, 19 Aug 2003 17:38:24 +0200 Luis Javier escribió: > Hola; > Llevo poco tiempo apuntado a la lista, me ha dado este verano por > volver a intentar esto de la programación ;-) > He leido el hilo entero de los problemas de Sonia, y estaba buscando > algo parecido para ir practicando, antes de ponerme con algo más > serio. Llevo poco tiempo con Python :-( > Sonia ¿Seria posible que me enviases los enunciados de los ejercicios > que tienes que hacer? o si alguien me puede indicar donde hay > ejercicios (resueltos o no) le estaria agradecido. > Un saludo. > Luisjavier En el curso de Python de la UJI, en marmota.act.uji.es/II04/pdf/python.pdf > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- \\|||// Francisco Igual Peña ( .) (. ) e-mail: pacodani[arroba(at)]inicia[punto(dot)]es o Linux Registered User #226230 ----oOOO---OOOo----------------------------- From siosss en ono.com Wed Aug 20 17:20:15 2003 From: siosss en ono.com (Sonia) Date: Wed, 20 Aug 2003 10:20:15 -0500 Subject: sobre listas References: <20030819121151.6d2a5d51.dvilla@gmx.net> Message-ID: <007801c3672e$8ec77a20$c3b3ca51@Sonia> demasiado para mi. en mi temario no entra ni map, ni count, ni index ni nada de eso. lo tendre q hacer po metodo tradicional (y largo) ahora lo intento! ----- Original Message ----- From: Chema Cortés To: Sent: Tuesday, August 19, 2003 9:30 AM Subject: [Python-es] Re: sobre listas > Chema Cortés escribió: > > > Una solución algo más bestia, pero que también valdría para unicodes: > > > > frec = [ todo.count(c) for c in todo ] > > letra = todo[frec.index(max(frec))] > > Tomando un café me ha venido la inspiración de algunas versiones "menos > bestias", válidas para unicodes. Ya advierto que algunas son bastantes > complicadas: > > listapal = ['hola','mundo','otra','vez',u'\N{EURO SIGN}'*10] > todo = ''.join(listapal) > > #### > #versión 1 > > keys=dict.fromkeys(todo).keys() #nuevo en python 2.3 > frec=[ todo.count(k) for k in keys ] > letra=keys[frec.index(max(frec))] > > #### > #versión 2 > > D=dict.fromkeys(todo) #nuevo en python 2.3 > for k in D.keys(): > D[k]=todo.count(k) > letra=[ k for k,v in D.items() if v==max(D.values()) ][0] > > #### > #versión 3, que funciona también en python 2.2.x > > keys=[] > > frec=[ todo.count(c) for c in todo > if c not in keys and not keys.append(c) ] > > letra=keys[frec.index(max(frec))] > > #### > #versión 4 "Absurda", pero va también en python 2.2.2 > > keys=[ c for c in todo if c not in locals()['_[1]'].__self__ ] > frec=[ todo.count(k) for k in keys ] > letra=keys[frec.index(max(frec))] > > # Explicación: > # http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/204297 > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Wed Aug 20 10:41:11 2003 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Wed, 20 Aug 2003 10:41:11 +0200 Subject: sobre listas In-Reply-To: <007801c3672e$8ec77a20$c3b3ca51@Sonia> References: <20030819121151.6d2a5d51.dvilla@gmx.net> <007801c3672e$8ec77a20$c3b3ca51@Sonia> Message-ID: <3F433427.5030900@arrakis.es> Ya sí :-) def map(funcion,lista): ret=[] for elem in lista: ret.append(funcion(elem)) return ret def count(lista, buscado): ret=0 for elem in lista: if elem==buscado: ret=ret+1 return ret def index(lista, buscado): n=0 for elem in lista: if elem==buscado: return n n=n+1 return -1 if __name__=='__main__': lista=['uno','dos','dos','tres','tres','tres'] def fun(s): return s*2 print 'map', map(fun,lista) print 'count', count(lista,'dos') print 'index', index(lista,'tres') Sonia wrote: > demasiado para mi. en mi temario no entra ni map, ni count, ni index ni > nada de eso. lo tendre q hacer po metodo tradicional (y largo) > ahora lo intento! > > > ----- Original Message ----- > From: Chema Cortés > To: > Sent: Tuesday, August 19, 2003 9:30 AM > Subject: [Python-es] Re: sobre listas > > > >>Chema Cortés escribió: >> >> >>>Una solución algo más bestia, pero que también valdría para unicodes: >>> >>>frec = [ todo.count(c) for c in todo ] >>>letra = todo[frec.index(max(frec))] >> >>Tomando un café me ha venido la inspiración de algunas versiones "menos >>bestias", válidas para unicodes. Ya advierto que algunas son bastantes >>complicadas: >> >>listapal = ['hola','mundo','otra','vez',u'\N{EURO SIGN}'*10] >>todo = ''.join(listapal) >> >>#### >>#versión 1 >> >>keys=dict.fromkeys(todo).keys() #nuevo en python 2.3 >>frec=[ todo.count(k) for k in keys ] >>letra=keys[frec.index(max(frec))] >> >>#### >>#versión 2 >> >>D=dict.fromkeys(todo) #nuevo en python 2.3 >>for k in D.keys(): >> D[k]=todo.count(k) >>letra=[ k for k,v in D.items() if v==max(D.values()) ][0] >> >>#### >>#versión 3, que funciona también en python 2.2.x >> >>keys=[] >> >>frec=[ todo.count(c) for c in todo >> if c not in keys and not keys.append(c) ] >> >>letra=keys[frec.index(max(frec))] >> >>#### >>#versión 4 "Absurda", pero va también en python 2.2.2 >> >>keys=[ c for c in todo if c not in locals()['_[1]'].__self__ ] >>frec=[ todo.count(k) for k in keys ] >>letra=keys[frec.index(max(frec))] >> >># Explicación: >># http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/204297 From siosss en ono.com Wed Aug 20 17:43:26 2003 From: siosss en ono.com (Sonia) Date: Wed, 20 Aug 2003 10:43:26 -0500 Subject: Fwd: ayuda!! References: <1061204393.3f40b1a955743@www.ch3m4.org><1061208099.15831.16.camel@trantor.movidream> Message-ID: <00a701c36731$cbbc9ca0$c3b3ca51@Sonia> sobre el ejercicio de los tramos, al cambiar la condicion de q ini>fin (recorrer la lista al reves) me da como error de compilacion q la lista esta fuera del rango en esta linea: while ini>fin: coste_tramo.append(coste[fin]) #costes #ESTA!!!! lista_aux.append(tramo[fin]) #tramos fin=fin-1 ves algo raro aqui? envio el codigo completo por si acaso! #Mediante una lista de 40 numeros , llamada coste_tramo, se representa el coste en euros de cada uno de los 40 tramos de una autopista. Asi, al recorrer el tramo i de la autopista tiene un coste de coste_tramo[i] euros. #Diseña una funcion q, a partir de una lista y 2 numeros de tramos, ini y fin, calcule el coste de recorrer consecutivamente los tramos de la autopista q van desde ini hasta fin (ambos inclusive). #Para ello deberas tener en cuenta las siguientes consideraciones: # 1-los tramos de la autopista se pueden recorrer en ambos sentidos # 2-por cada 3 tramos recorridos el mas barato de ellos, sera gratuito #nota: debes suponer q los numeros de tramos pasados a la funcion , ini y fin, seran siempre indices validos en la lista def minimo(lista): min=lista[0] for i in range(0,len(lista)): if lista[i]fin: coste_tramo.append(coste[fin]) #costes lista_aux.append(tramo[fin]) #tramos fin=fin-1 if len(lista_aux)==3: lista_min.append(minimo(coste_tramo)) #gratis lista_aux=[] for i in coste_tramo: pego=pago+i for j in lista_min: dto=dto+j rdo=pago-dto print rdo #programa principal tramo=[0,1,2,3,4,5,6,7,8,9,10,11,12] coste=[2,3,2,2,1,2,3,4,4,2,3,3,2] ini=int(raw_input('Introduce ini: ')) fin=int(raw_input('introduce fin: ')) recorrer(coste,tramo,ini,fin) #comprobacion: #recorrido del tramo 10 al tramo 4= 15 euros #recorrido del tramo 4 al tramo 10= 16 euros ----- Original Message ----- From: Chema Cortés To: Sent: Tuesday, August 19, 2003 2:56 AM Subject: [Python-es] Re: Fwd: ayuda!! > Sonia escribió: > > > al recorrer las listas como me dijiste y sumar sus numeros para despues > > restar su total, ya me funciona. > > el problema ahora es q tengo 2 opciones. recorrerla de principio a fin, y de > > fin a principio. de principio a fin no hay ningun problema(creo q me da > > bien) , pero al hacer lo contrario siempre me da 0 (cero) y no se donde esta > > el cambio. simplemente he hecho en vez de: > > > > > > if ini<=fin: #recorremos la lista de ppio a fin > > while ini<=fin: > > > > coste_tramo.append(coste[ini]) #costes > > lista_aux.append(tramo[ini]) #tramos > > ini=ini+1 > > > > #LO CAMBIO POR ESTO: > > > > > > else: #recorremos la lista de fin a principio > > > > while fin>=ini: > > coste_tramo.append(coste[fin]) #costes > > lista_aux.append(tramo[fin]) #tramos > > fin=fin-1 > > > > #no se si el problema esta aqui > > #por si acaso te mando el enunciado y el problema al completo > > Menos mal que has puesto el enunciado, porque con esto poco se te puede > decir. Tienes mal puestos las condiciones. En un sentido ini<=fin; en el > sentido contrario ini>fin > > > #Mediante una lista de 40 numeros , llamada coste_tramo, se representa el > > coste en euros de cada uno de los 40 tramos de una autopista. Asi, al > > recorrer el tramo i de la autopista tiene un coste de coste_tramo[i] euros. > > #Diseña una funcion q, a partir de una lista y 2 numeros de tramos, ini y > > fin, calcule el coste de recorrer consecutivamente los tramos de la > > autopista q van desde ini hasta fin (ambos inclusive). > > #Para ello deberas tener en cuenta las siguientes consideraciones: > > # 1-los tramos de la autopista se pueden recorrer en ambos sentidos > > # 2-por cada 3 tramos recorridos el mas barato de ellos, sera gratuito > > Tienes dos posibilidades: 1) intentar "recorrer" la lista entre los dos > tramos que te dicen, 2) crear una lista auxiliar con los elementos que > necesitas. > > Te aconsejo la segunda opción. Utiliza el rebanado de listas: > > L_aux=L[i:j] > > > ---------------------------------------------------------------------------- ---- _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From siosss en ono.com Wed Aug 20 17:44:23 2003 From: siosss en ono.com (Sonia) Date: Wed, 20 Aug 2003 10:44:23 -0500 Subject: sobre listas References: <20030819121151.6d2a5d51.dvilla@gmx.net> <007801c3672e$8ec77a20$c3b3ca51@Sonia> <3F433427.5030900@arrakis.es> Message-ID: <00ae01c36731$ed8e72e0$c3b3ca51@Sonia> mmmmm creo q asi mucho mejor! asi casi q hare trampita sin q nadie se de cuetna! jeej! gracias!! ----- Original Message ----- From: Marcos Sánchez Provencio To: La lista de python en castellano Sent: Wednesday, August 20, 2003 3:41 AM Subject: Re: [Python-es] Re: sobre listas > Ya sí :-) > > def map(funcion,lista): > ret=[] > for elem in lista: > ret.append(funcion(elem)) > return ret > > def count(lista, buscado): > ret=0 > for elem in lista: > if elem==buscado: > ret=ret+1 > return ret > > def index(lista, buscado): > n=0 > for elem in lista: > if elem==buscado: > return n > n=n+1 > return -1 > > if __name__=='__main__': > lista=['uno','dos','dos','tres','tres','tres'] > def fun(s): > return s*2 > print 'map', map(fun,lista) > print 'count', count(lista,'dos') > print 'index', index(lista,'tres') > > Sonia wrote: > > demasiado para mi. en mi temario no entra ni map, ni count, ni index ni > > nada de eso. lo tendre q hacer po metodo tradicional (y largo) > > ahora lo intento! > > > > > > ----- Original Message ----- > > From: Chema Cortés > > To: > > Sent: Tuesday, August 19, 2003 9:30 AM > > Subject: [Python-es] Re: sobre listas > > > > > > > >>Chema Cortés escribió: > >> > >> > >>>Una solución algo más bestia, pero que también valdría para unicodes: > >>> > >>>frec = [ todo.count(c) for c in todo ] > >>>letra = todo[frec.index(max(frec))] > >> > >>Tomando un café me ha venido la inspiración de algunas versiones "menos > >>bestias", válidas para unicodes. Ya advierto que algunas son bastantes > >>complicadas: > >> > >>listapal = ['hola','mundo','otra','vez',u'\N{EURO SIGN}'*10] > >>todo = ''.join(listapal) > >> > >>#### > >>#versión 1 > >> > >>keys=dict.fromkeys(todo).keys() #nuevo en python 2.3 > >>frec=[ todo.count(k) for k in keys ] > >>letra=keys[frec.index(max(frec))] > >> > >>#### > >>#versión 2 > >> > >>D=dict.fromkeys(todo) #nuevo en python 2.3 > >>for k in D.keys(): > >> D[k]=todo.count(k) > >>letra=[ k for k,v in D.items() if v==max(D.values()) ][0] > >> > >>#### > >>#versión 3, que funciona también en python 2.2.x > >> > >>keys=[] > >> > >>frec=[ todo.count(c) for c in todo > >> if c not in keys and not keys.append(c) ] > >> > >>letra=keys[frec.index(max(frec))] > >> > >>#### > >>#versión 4 "Absurda", pero va también en python 2.2.2 > >> > >>keys=[ c for c in todo if c not in locals()['_[1]'].__self__ ] > >>frec=[ todo.count(k) for k in keys ] > >>letra=keys[frec.index(max(frec))] > >> > >># Explicación: > >># http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/204297 > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From dvilla en gmx.net Wed Aug 20 11:05:03 2003 From: dvilla en gmx.net (dvilla en gmx.net) Date: Wed, 20 Aug 2003 11:05:03 +0200 Subject: sobre listas In-Reply-To: <007801c3672e$8ec77a20$c3b3ca51@Sonia> References: <20030819121151.6d2a5d51.dvilla@gmx.net> <007801c3672e$8ec77a20$c3b3ca51@Sonia> Message-ID: <20030820110503.4fd87f17.dvilla@gmx.net> Hola: No debería preocuparte tanto lo que entra en el temario. Yo en mis prácticas he utilizado todo lo que he aprendido por mi cuenta y ningún profesor me ha dicho: "Esto no lo hemos dado". Las universidades pretenden ser autodidactas y ningún profesor que pueda llamarse así te va a recriminar que aprendas por ti misma. La cuestión está, en que si usas cosas que no se han dado, sepas explicar qué son y cómo funcionan, es decir, el profesor debe saber que no lo has copiado por las buenas sino que lo entienes. Si el index() y el count() están en el lenguaje es porque se considera que son necesarios. No veo la utilidad de evitar su uso porque al final acabarás haciendote tu propio index() y tu propio count() sólo que es posible que los llames de otra manera. Hazme caso, no inventes la rueda. Saludos. El Wed, 20 Aug 2003 10:20:15 -0500 "Sonia" escribió: > demasiado para mi. en mi temario no entra ni map, ni count, ni index ni > nada de eso. lo tendre q hacer po metodo tradicional (y largo) > ahora lo intento! > > > ----- Original Message ----- > From: Chema Cortés > To: > Sent: Tuesday, August 19, 2003 9:30 AM > Subject: [Python-es] Re: sobre listas > > > > Chema Cortés escribió: > > > > > Una solución algo más bestia, pero que también valdría para unicodes: > > > > > > frec = [ todo.count(c) for c in todo ] > > > letra = todo[frec.index(max(frec))] > > > > Tomando un café me ha venido la inspiración de algunas versiones "menos > > bestias", válidas para unicodes. Ya advierto que algunas son bastantes > > complicadas: > > > > listapal = ['hola','mundo','otra','vez',u'\N{EURO SIGN}'*10] > > todo = ''.join(listapal) > > > > #### > > #versión 1 > > > > keys=dict.fromkeys(todo).keys() #nuevo en python 2.3 > > frec=[ todo.count(k) for k in keys ] > > letra=keys[frec.index(max(frec))] > > > > #### > > #versión 2 > > > > D=dict.fromkeys(todo) #nuevo en python 2.3 > > for k in D.keys(): > > D[k]=todo.count(k) > > letra=[ k for k,v in D.items() if v==max(D.values()) ][0] > > > > #### > > #versión 3, que funciona también en python 2.2.x > > > > keys=[] > > > > frec=[ todo.count(c) for c in todo > > if c not in keys and not keys.append(c) ] > > > > letra=keys[frec.index(max(frec))] > > > > #### > > #versión 4 "Absurda", pero va también en python 2.2.2 > > > > keys=[ c for c in todo if c not in locals()['_[1]'].__self__ ] > > frec=[ todo.count(k) for k in keys ] > > letra=keys[frec.index(max(frec))] > > > > # Explicación: > > # http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/204297 > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From jcanto en hispasec.com Wed Aug 20 12:24:02 2003 From: jcanto en hispasec.com (Julio Canto) Date: Wed, 20 Aug 2003 11:24:02 +0100 Subject: sobre listas References: <20030819121151.6d2a5d51.dvilla@gmx.net><007801c3672e$8ec77a20$c3b3ca51@Sonia> <20030820110503.4fd87f17.dvilla@gmx.net> Message-ID: <00da01c36705$2dde0bd0$050010ac@vega700> > Hola: > > No debería preocuparte tanto lo que entra en el temario. Yo en mis prácticas he > utilizado todo lo que he aprendido por mi cuenta y ningún profesor me ha dicho: > "Esto no lo hemos dado". Las universidades pretenden ser autodidactas y ningún > profesor que pueda llamarse así te va a recriminar que aprendas por ti misma. Jejejeje... suele ser muy buena politica no hacer cosas fuera de lo que a uno le han explicado. Personalmente, me ceñiria al temario, pq nunca se sabe como va a reaccionar un profesor ante un despunte de ese tipo. Yo he tenido practicas de la universidad que han bajado nota por hacerlasa mi manera (totalmente valida y funcional, reconocido por el profesor) en vez de su forma politicamente correcta :) Un saludo, JC From siosss en ono.com Wed Aug 20 18:44:10 2003 From: siosss en ono.com (Sonia) Date: Wed, 20 Aug 2003 11:44:10 -0500 Subject: sobre listas References: <20030819121151.6d2a5d51.dvilla@gmx.net><007801c3672e$8ec77a20$c3b3ca51@Sonia><20030820110503.4fd87f17.dvilla@gmx.net> <00da01c36705$2dde0bd0$050010ac@vega700> Message-ID: <00fa01c3673a$480bc1c0$c3b3ca51@Sonia> eso es lo q pasa. q en practicas algunos ya hemos utilizado cosas 'raras' y ya nos han dicho q para el examen nos ciñamos a lo explicado en clase. asi q...no hay mas q hablar!jeje! de todas formas esta bien aprender mas de lo dado en clase...por ejemplo.....para el año q viene! jeje! ----- Original Message ----- From: Julio Canto To: La lista de python en castellano Sent: Wednesday, August 20, 2003 5:24 AM Subject: Re: [Python-es] Re: sobre listas > > Hola: > > > > No debería preocuparte tanto lo que entra en el temario. Yo en mis > prácticas he > > utilizado todo lo que he aprendido por mi cuenta y ningún profesor me ha > dicho: > > "Esto no lo hemos dado". Las universidades pretenden ser autodidactas y > ningún > > profesor que pueda llamarse así te va a recriminar que aprendas por ti > misma. > > Jejejeje... suele ser muy buena politica no hacer cosas fuera de lo que a > uno le han explicado. Personalmente, me ceñiria al temario, pq nunca se sabe > como va a reaccionar un profesor ante un despunte de ese tipo. Yo he tenido > practicas de la universidad que han bajado nota por hacerlasa mi manera > (totalmente valida y funcional, reconocido por el profesor) en vez de su > forma politicamente correcta :) > Un saludo, > JC > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From dvilla en gmx.net Wed Aug 20 11:43:09 2003 From: dvilla en gmx.net (dvilla en gmx.net) Date: Wed, 20 Aug 2003 11:43:09 +0200 Subject: sobre listas In-Reply-To: <00da01c36705$2dde0bd0$050010ac@vega700> References: <20030819121151.6d2a5d51.dvilla@gmx.net> <007801c3672e$8ec77a20$c3b3ca51@Sonia> <20030820110503.4fd87f17.dvilla@gmx.net> <00da01c36705$2dde0bd0$050010ac@vega700> Message-ID: <20030820114309.04fa0de2.dvilla@gmx.net> A ver: El profesor no es una máquina de picar boletos. Lo mejor que puedes hacer es preguntarle, la comunicación hace milagros. Tan sólo tienes que acercarte por una tutoría y preguntar que le parece. En cualquier caso, lo que hace tu profesor: "Penalizar la iniciativa" si que es una mala política. Si un profesor te dice que tu práctica "es válida y funcional pero que no le gusta" y por eso te pone peor nota, tienes todo el derecho a pedir que te la evalue otro profesor o un tribunal. Sé de lo que hablo. La universidad no es la EGB, ni la ESO ni una academía. Si nos quedamos sólo con lo que enseñan en clase, mal vamos. A las malas, si tu profesor te ha dado bibliografía y tu usas algo que está en esos libros o apuntes, puedes hacerlo aunque no se haya dado en clase, porque oficialmente también es material docente. No sé si lo que tu hiciste estaba en la bibliografía pero es bastante probable que el count y el index estén en alguna de las referencias de su asignatura, y si no lo estuvieran es que le han dado un material realmente malo. Saludos. El Wed, 20 Aug 2003 11:24:02 +0100 "Julio Canto" escribió: > > Hola: > > > > No debería preocuparte tanto lo que entra en el temario. Yo en mis > prácticas he > > utilizado todo lo que he aprendido por mi cuenta y ningún profesor me ha > dicho: > > "Esto no lo hemos dado". Las universidades pretenden ser autodidactas y > ningún > > profesor que pueda llamarse así te va a recriminar que aprendas por ti > misma. > > Jejejeje... suele ser muy buena politica no hacer cosas fuera de lo que a > uno le han explicado. Personalmente, me ceñiria al temario, pq nunca se sabe > como va a reaccionar un profesor ante un despunte de ese tipo. Yo he tenido > practicas de la universidad que han bajado nota por hacerlasa mi manera > (totalmente valida y funcional, reconocido por el profesor) en vez de su > forma politicamente correcta :) > Un saludo, > JC > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From se05216 en salleURL.edu Wed Aug 20 12:28:58 2003 From: se05216 en salleURL.edu (CHRISTAL) Date: Wed, 20 Aug 2003 12:28:58 +0200 (CEST) Subject: -- Timer en python -- In-Reply-To: <1061110670.806.4.camel@renata.macondo.pri> References: <1061110670.806.4.camel@renata.macondo.pri> Message-ID: Gracias Marcos, me ha sido de mucha utilidad! On 17 Aug 2003, Marcos Sánchez Provencio wrote: > Mira esto: > > import threading > > def h(): > print 'fff' > lanza() > > def lanza(): > t=threading.Timer(3.0,h) > t.start() > lanza() > > Cuando preguntes en una lista, da más detalles. Especialmente, si dices > 'me da error', pon qué error es. > > http://www.sindominio.net/ayuda/preguntas-inteligentes.html > Cómo hacer preguntas de manera inteligente > por Eric S. Raymond > > El dom, 17-08-2003 a las 00:27, CHRISTAL escribió: > > Al final consegui que me funcionara, pero lo que no se como hacer es que > > se repita constantemente, no que solo lo haga una vez a los 5 segundos > > (por ejemplo) sino cada 5 segundos saltara a esa funcion. Como lo meto en > > un loop? Porque si en la funcion a la que llama vuelvo a activar el timer, > > me da error. Como puedo hacerlo? necesito que cada 5 segundos entre a esa > > funcion... > > > > Un saludo y gracias! > > > > > > On Sat, 16 Aug 2003, Marcos Sánchez Provencio wrote: > > > > > CHRISTAL wrote: > > > > > > >Alguien sabe como hacer un timer en python? es decir, que cada X > > > >segundos salte a una funcion que yo le indique? > > > >He probado el ejemplo de esta web, pero me da error: > > > >http://www.python.org/doc/current/lib/timer-objects.html#l2h-2549 > > > >Dice que la clase timer esta dentro del modulo Threading y en cambio no > > > >me lo reconoce python (tengo la version 2.2) > > > >Saludos y gracias > > > > > > > > > > > > > > > A mí me va: > > > > > > marcos en renata:~$ python2.2 > > > Python 2.2.2 (#1, Jan 31 2003, 11:08:26) > > > [GCC 2.95.4 20011002 (Debian prerelease)] on linux2 > > > Type "help", "copyright", "credits" or "license" for more information. > > > > > > >>> import threading > > > > > > >>> def h(): > > > ... print 'fff' > > > ... > > > >>> t=threading.Timer(3.0,h) > > > >>> t.start() > > > >>> print 1 > > > 1 > > > >>> ffff > > > > > > _______________________________________________ > > > Python-es mailing list > > > Python-es en aditel.org > > > http://listas.aditel.org/listinfo/python-es > > > > > > > > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es > -- > Marcos Sánchez Provencio > > From aporcar en dipcas.es Wed Aug 20 13:12:46 2003 From: aporcar en dipcas.es (alvar) Date: Wed, 20 Aug 2003 13:12:46 +0200 Subject: =?iso-8859-1?q?Programaci=F3n_en_red?= Message-ID: <3F4357AE.3050605@dipcas.es> He visto que existen los módulos xmlrpc y pyro para progrmación en red. Me gustaría que me dierais alguna opinión sobre ellos y si existe alguna documentación en español. Gracia, -- From rapto en arrakis.es Wed Aug 20 13:41:18 2003 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Wed, 20 Aug 2003 13:41:18 +0200 Subject: =?ISO-8859-1?Q?Programaci=F3n_en_red?= In-Reply-To: <3F4357AE.3050605@dipcas.es> References: <3F4357AE.3050605@dipcas.es> Message-ID: <3F435E5E.4000804@arrakis.es> alvar wrote: > He visto que existen los módulos xmlrpc y pyro para progrmación en red. > Me gustaría que me dierais alguna opinión sobre ellos y si existe alguna > documentación en español. > Gracia, > Erny estaba preparando un documento muy bueno. ¿Erny? From oscarm en iai.csic.es Wed Aug 20 13:59:20 2003 From: oscarm en iai.csic.es (Oscar Martinez Graullera) Date: Wed, 20 Aug 2003 13:59:20 +0200 Subject: problemas con scipy Message-ID: <200308201359.20993.oscarm@iai.csic.es> Hola estoy intentando probar el scipy (www.scicy.org) en python version 2.2.1 para SUSE 8.1, y cuando intento importar la libreria el sistema me "casca" por: violación de segmento. He probado en windows con una suerte parecida. A alguien le ha pasado lo mismo? teneis experiencia con este paquete ? ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ch3m4 en ch3m4.org Wed Aug 20 13:58:44 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-15?Q?Chema_Cort=E9s?=) Date: Wed, 20 Aug 2003 13:58:44 +0200 Subject: Fwd: ayuda!! In-Reply-To: <00a701c36731$cbbc9ca0$c3b3ca51@Sonia> References: <1061204393.3f40b1a955743@www.ch3m4.org><1061208099.15831.16.camel@trantor.movidream> <00a701c36731$cbbc9ca0$c3b3ca51@Sonia> Message-ID: Sonia escribió: > sobre el ejercicio de los tramos, al cambiar la condicion de q ini>fin > (recorrer la lista al reves) me da como error de compilacion q la lista esta > fuera del rango en esta linea: > > while ini>fin: > coste_tramo.append(coste[fin]) #costes #ESTA!!!! > lista_aux.append(tramo[fin]) #tramos > fin=fin-1 > > > ves algo raro aqui? Pues sí que hay algo raro :-P Si vas restando a 'fin' nunca llegará a valer 'ini'. Restando, restando, llegará a valer 0, y luego sigue con índices negativos hasta que se sale de rango. Te sugiero que no uses las variables 'ini' ó 'fin' como índices de bucles: for i in range(ini,fin+1): ... También te iría mejor si juntas los dos bloques del 'if' en uno sólo. Al fin de cuentas ambos códigos son iguales, tan sólo que hay que cambiar 'ini' por 'fin': if ini>fin: ini,fin=fin,ini Y si pudieras usar rebanadas de listas todavía te iría mejor ;-) >>L_aux=L[i:j] PD: por cierto, que sólo tienes que tener una lista llamada 'coste_tramo', con lo que la función a llamar sería: 'recorrer(coste_tramo,ini,fin)' . Revisa el código porque no necesitas la lista 'tramo'. Sobre todo revisa mejor el tema de no contabilizar el tramo con el coste mínimo. ¿Seguro que no puedes usar "rebanadas"? Se haría en dos patadas. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From aerd en retemail.es Wed Aug 20 15:55:55 2003 From: aerd en retemail.es (Ernesto Revilla) Date: Wed, 20 Aug 2003 15:55:55 +0200 Subject: Programación en red References: <3F4357AE.3050605@dipcas.es> <3F435E5E.4000804@arrakis.es> Message-ID: <004501c36723$4fbfc4f0$0100a8c0@servidor> Sí, el documento está en marcha y se me está complicando un poquito porque la parte SOAP tiene que explicar mínimamente los espacios de nombres XML y los XML Schemas. Dado que también para mi todo es relativamente nuevo tardo más de la cuenta para preparar la documentación. De todos modos, lo que respecta a XML-RPC, creo que con el borrador que Marcos ha convertido a PDF y se puede descargar en: http://burke.ath.cx/~marcos/webServPy.pdf va que arde. Faltaría un ejemplo de Servidor usando HTTPS (mediante OpenSSL). Sobre Pyro no sé si hay documentación en español, además no lo conozco bien. Pyro supongo que trata todos los demás tipos de datos, tales como identificadores de objetos, que no trata XML-RPC y en un entorno puramente Python será preferible. No sé cómo Pyro trata la limpieza de identificadores a objetos huérfanos (supongo que con sesiones). Si me da tiempo, me lo estudiaré para HispaLinux, que sirve al menos como punto de comparación. Sobre XML-RPC ya me podéis preguntar lo que sea. A ver si soy capaz de responder. Saludos, Erny ----- Original Message ----- From: "Marcos Sánchez Provencio" To: "La lista de python en castellano" Sent: Wednesday, August 20, 2003 1:41 PM Subject: Re: [Python-es] Programación en red > alvar wrote: > > He visto que existen los módulos xmlrpc y pyro para progrmación en red. > > Me gustaría que me dierais alguna opinión sobre ellos y si existe alguna > > documentación en español. > > Gracia, > > > Erny estaba preparando un documento muy bueno. > > ¿Erny? > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From siosss en ono.com Thu Aug 21 03:27:41 2003 From: siosss en ono.com (Sonia) Date: Wed, 20 Aug 2003 20:27:41 -0500 Subject: Fwd: ayuda!! References: <1061204393.3f40b1a955743@www.ch3m4.org><1061208099.15831.16.camel@trantor.movidream> <00a701c36731$cbbc9ca0$c3b3ca51@Sonia> Message-ID: <003401c36783$6a239780$c3b3ca51@Sonia> no! me da a mi q no puedo usar rebandas jeje! pero buen intento! ----- Original Message ----- From: Chema Cortés To: Sent: Wednesday, August 20, 2003 6:58 AM Subject: [Python-es] Re: Fwd: ayuda!! > Sonia escribió: > > sobre el ejercicio de los tramos, al cambiar la condicion de q ini>fin > > (recorrer la lista al reves) me da como error de compilacion q la lista esta > > fuera del rango en esta linea: > > > > while ini>fin: > > coste_tramo.append(coste[fin]) #costes #ESTA!!!! > > lista_aux.append(tramo[fin]) #tramos > > fin=fin-1 > > > > > > ves algo raro aqui? > > Pues sí que hay algo raro :-P > > Si vas restando a 'fin' nunca llegará a valer 'ini'. > Restando, restando, llegará a valer 0, y luego sigue con índices > negativos hasta que se sale de rango. > > Te sugiero que no uses las variables 'ini' ó 'fin' como índices de bucles: > > for i in range(ini,fin+1): > ... > > > También te iría mejor si juntas los dos bloques del 'if' en uno sólo. Al > fin de cuentas ambos códigos son iguales, tan sólo que hay que cambiar > 'ini' por 'fin': > > if ini>fin: > ini,fin=fin,ini > > > Y si pudieras usar rebanadas de listas todavía te iría mejor ;-) > > >>L_aux=L[i:j] > > > PD: por cierto, que sólo tienes que tener una lista llamada > 'coste_tramo', con lo que la función a llamar sería: > 'recorrer(coste_tramo,ini,fin)' . Revisa el código porque no necesitas > la lista 'tramo'. Sobre todo revisa mejor el tema de no contabilizar el > tramo con el coste mínimo. ¿Seguro que no puedes usar "rebanadas"? Se > haría en dos patadas. > > > ---------------------------------------------------------------------------- ---- _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From dvilla en gmx.net Wed Aug 20 20:31:35 2003 From: dvilla en gmx.net (dvilla en gmx.net) Date: Wed, 20 Aug 2003 20:31:35 +0200 Subject: glade Message-ID: <20030820203135.519eb71e.dvilla@gmx.net> Hola: Alguien sabe si el signal_autoconnect() de libglade se puede utilizar de modo que los callbacks sean métodos no-de-clase. Este ejemplo me funciona: import pygtk pygtk.require("2.0") import gtk, gtk.glade class Application: def __init__(self): self.widgets = gtk.glade.XML(gladefile) self.widgets.signal_autoconnect(Application.__dict__) def on_button1_clicked(widget, event): print 'hola' Pero si on_button1_clicked() no es un método de clase, es decir: def on_button1_clicked(self, widget, event): print 'hola' Entonces el autoconnect no se entera y llama a este método con 2 argumentos en lugar de tres. Alguien sabe si se puede hacer? Saludos. From siosss en ono.com Thu Aug 21 04:20:38 2003 From: siosss en ono.com (Sonia) Date: Wed, 20 Aug 2003 21:20:38 -0500 Subject: sobre listas References: <20030819121151.6d2a5d51.dvilla@gmx.net> <007801c3672e$8ec77a20$c3b3ca51@Sonia> <3F433427.5030900@arrakis.es> Message-ID: <006701c3678a$cff9aca0$c3b3ca51@Sonia> dejo mi version a ver si hay mucha cosa mal recuerdo q el enunciado es , dada una cadena de palabras, mostrar las palabras q contienen la letra mas frecuente de esa cadena mi version(tradicional): (el join si q lo habia dado , lo demas nada de nada) def frecuencia(lista): lista_todo=''.join(lista) #lista_todo=[pepedaleamigoernesto] #busco el caracter + frecuente en lista_todo #voy a lista y saco las palabras q contienen ese caracter max=0 letra_max=[] lista_rdo=[] cont=1 #pq si la letra esta (minimo 1) for letra1 in range(0,len(lista_todo)): for letra2 in range(0,len(lista_todo)): #compara la 1 letra con todas...la 2º con todas... if lista_todo[letra1]==lista_todo[letra2]: cont=cont+1 if cont>max: max=cont letra_max=lista_todo[letra1] cont=0 for palabra in lista: for letra in palabra: if palabra[letra]==letra_max: lista_rdo.append(lista[palabra]) return lista_rdo #el ultimo for , no se si podria ser tb: #for letra_max[0] in palabra: #lista_rdo.append(lista[palabra]) lista=['pepe','dele','amigo','ernesto'] ----- Original Message ----- From: Marcos Sánchez Provencio To: La lista de python en castellano Sent: Wednesday, August 20, 2003 3:41 AM Subject: Re: [Python-es] Re: sobre listas > Ya sí :-) > > def map(funcion,lista): > ret=[] > for elem in lista: > ret.append(funcion(elem)) > return ret > > def count(lista, buscado): > ret=0 > for elem in lista: > if elem==buscado: > ret=ret+1 > return ret > > def index(lista, buscado): > n=0 > for elem in lista: > if elem==buscado: > return n > n=n+1 > return -1 > > if __name__=='__main__': > lista=['uno','dos','dos','tres','tres','tres'] > def fun(s): > return s*2 > print 'map', map(fun,lista) > print 'count', count(lista,'dos') > print 'index', index(lista,'tres') > > Sonia wrote: > > demasiado para mi. en mi temario no entra ni map, ni count, ni index ni > > nada de eso. lo tendre q hacer po metodo tradicional (y largo) > > ahora lo intento! > > > > > > ----- Original Message ----- > > From: Chema Cortés > > To: > > Sent: Tuesday, August 19, 2003 9:30 AM > > Subject: [Python-es] Re: sobre listas > > > > > > > >>Chema Cortés escribió: > >> > >> > >>>Una solución algo más bestia, pero que también valdría para unicodes: > >>> > >>>frec = [ todo.count(c) for c in todo ] > >>>letra = todo[frec.index(max(frec))] > >> > >>Tomando un café me ha venido la inspiración de algunas versiones "menos > >>bestias", válidas para unicodes. Ya advierto que algunas son bastantes > >>complicadas: > >> > >>listapal = ['hola','mundo','otra','vez',u'\N{EURO SIGN}'*10] > >>todo = ''.join(listapal) > >> > >>#### > >>#versión 1 > >> > >>keys=dict.fromkeys(todo).keys() #nuevo en python 2.3 > >>frec=[ todo.count(k) for k in keys ] > >>letra=keys[frec.index(max(frec))] > >> > >>#### > >>#versión 2 > >> > >>D=dict.fromkeys(todo) #nuevo en python 2.3 > >>for k in D.keys(): > >> D[k]=todo.count(k) > >>letra=[ k for k,v in D.items() if v==max(D.values()) ][0] > >> > >>#### > >>#versión 3, que funciona también en python 2.2.x > >> > >>keys=[] > >> > >>frec=[ todo.count(c) for c in todo > >> if c not in keys and not keys.append(c) ] > >> > >>letra=keys[frec.index(max(frec))] > >> > >>#### > >>#versión 4 "Absurda", pero va también en python 2.2.2 > >> > >>keys=[ c for c in todo if c not in locals()['_[1]'].__self__ ] > >>frec=[ todo.count(k) for k in keys ] > >>letra=keys[frec.index(max(frec))] > >> > >># Explicación: > >># http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/204297 > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From lgs en sicem.biz Wed Aug 20 21:26:33 2003 From: lgs en sicem.biz (Lorenzo Gil Sanchez) Date: Wed, 20 Aug 2003 21:26:33 +0200 Subject: glade Message-ID: El mi?, 20-08-2003 a las 20:31, dvilla en gmx.net escribi?: Hola: > > Alguien sabe si el signal_autoconnect() de libglade se puede utilizar de modo > que los callbacks sean m?todos no-de-clase. Este ejemplo me funciona: > > import pygtk > pygtk.require("2.0") > > import gtk, gtk.glade > > class Application: > def __init__(self): > self.widgets = gtk.glade.XML(gladefile) > self.widgets.signal_autoconnect(Application.__dict__) > > def on_button1_clicked(widget, event): > print 'hola' > > > Pero si on_button1_clicked() no es un m?todo de clase, es decir: > > def on_button1_clicked(self, widget, event): > print 'hola' > > Entonces el autoconnect no se entera y llama a este m?todo con 2 argumentos en > lugar de tres. Alguien sabe si se puede hacer? > > Veamos, tienes un fallo en lo siguiente: El callback para la senial 'clicked' [1] es el siguiente def callback(button): pass o si es un metodo de clase def callback(self, button): pass Por eso en tu ejemplo te funciona el metodo para una clase porque tienes la suerte de estar dandole 2 argumentos: def on_button1_clicked(widget, event): print hola si haces esto def on_button1_clicked(widget, event): print widget, event probablemente te des cuenta que tu argumento widget es en realidad de tipo Application y tu argumento event es de tipo gtk.Button Despues de todo este rollo te respondo a tu pregunta: import pygtk pygtk.require('2.0') import gtk import gtk.glade def on_button1_clicked(button): print 'hola' widgets = gtk.glade.XML(gladefile) widgets.autoconnect(locals()) No se si me he explicado bien Lorenzo Gil [1] http://www.moeraki.com/pygtkreference/pygtk2reference/class-gtkbutton.html#signal-gtkbutton--clicked ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From pacodaniESTONO en inicia.es Wed Aug 20 21:13:15 2003 From: pacodaniESTONO en inicia.es (Francisco Igual) Date: Wed, 20 Aug 2003 21:13:15 +0200 Subject: Programa python...uno de mus In-Reply-To: References: Message-ID: <20030820211315.21daa0bb.pacodaniESTONO@inicia.es> El dia Mon, 18 Aug 2003 19:01:56 GMT Jose Gonzalez escribió: > A principios de verano empece a hacer un juego de mus en Python y > wxPython,. No es para jugar en red, aunque se podría añadir,no con > demasiada dificultad. Me gustaría verlo, me lo puedes pasar? Gracias. -- \\|||// Francisco Igual Peña ( .) (. ) e-mail: pacodani[arroba(at)]inicia[punto(dot)]es o Linux Registered User #226230 ----oOOO---OOOo----------------------------- From larreategi en eibar.org Wed Aug 20 22:21:54 2003 From: larreategi en eibar.org (Mikel Larreategi) Date: Wed, 20 Aug 2003 22:21:54 +0200 Subject: sobre listas In-Reply-To: <006701c3678a$cff9aca0$c3b3ca51@Sonia> References: <20030819121151.6d2a5d51.dvilla@gmx.net> <007801c3672e$8ec77a20$c3b3ca51@Sonia> <3F433427.5030900@arrakis.es> <006701c3678a$cff9aca0$c3b3ca51@Sonia> Message-ID: <1377093502.20030820222154@eibar.org> 21/08/03-n Sonia-(e)k idatzi du: El jueves, 21 de agosto de 2003 Sonia escribió: > dejo mi version a ver si hay mucha cosa mal > recuerdo q el enunciado es , dada una cadena de palabras, mostrar las > palabras q contienen la letra mas frecuente de esa cadena > mi version(tradicional): > (el join si q lo habia dado , lo demas nada de nada) Sonia, una pregunta: Puedes utilizar diccionarios? Saludos, Mikel ---- http://usuarios.lycos.es/erral PGP Key ID: 0x597B543C Bidaltzen dizkidazun mezuekin arazorik baduzu (zerbitzariak itzultzen baditu, ...) bidali helbide honetara: Si tienes problemas con los mensajes que me mandas (devolucion, ...) envialos a: erral2000 en euskalnet.net Barkatu eragozpenak Perdona las molestias From dvilla en gmx.net Wed Aug 20 22:20:23 2003 From: dvilla en gmx.net (dvilla en gmx.net) Date: Wed, 20 Aug 2003 22:20:23 +0200 Subject: glade In-Reply-To: References: Message-ID: <20030820222023.24dc7126.dvilla@gmx.net> Hola: Soy yo el que no se ha explicado bien. Necesito que el callback sea un método (pero no un método clase), es decir, que no me sirve un método estático. Esto es así porque dentro del método tengo que utilzar atributos del objeto actual. Prueba esto: import pygtk pygtk.require("2.0") import gtk, gtk.glade class Application: def __init__(self): self.widgets = gtk.glade.XML(gladefile) self.widgets.signal_autoconnect(Application.__dict__) def on_button1_clicked(self, *args): print 'hola' print self, args app = Application() gtk.main() Según te he entendido, tu dices que en 'self' viene la referencia a objeto y en 'args' el GtkWidget, pues no. Prueba y verás que en 'self' viene el GtkWidget y en 'args' un GdkEvent. Si haces un diccionario a mano, es decir: import pygtk pygtk.require("2.0") import gtk, gtk.glade class Application: def __init__(self): self.widgets = gtk.glade.XML(gladefile) callbacks = {"on_button1_clicked": self.on_button1_clicked} self.widgets.signal_autoconnect(callbacks) def on_button1_clicked(self, *args): print 'hola' print self, args app = Application() gtk.main() Entonces si funciona bien: en 'self' viene la referencia al objeto y en 'args' vienen el GtkWidget y el GdkEvent. Pero yo quiero saber si se puede hacer con el signal_autoconnect. Saludos. El Wed, 20 Aug 2003 21:26:33 +0200 Lorenzo Gil Sanchez escribió: > El mi_, 20-08-2003 a las 20:31, dvilla en gmx.net escribi_: > Hola: > > > > Alguien sabe si el signal_autoconnect() de libglade se puede utilizar de > > modo que los callbacks sean m_todos no-de-clase. Este ejemplo me funciona: > > > > import pygtk > > pygtk.require("2.0") > > > > import gtk, gtk.glade > > > > class Application: > > def __init__(self): > > self.widgets = gtk.glade.XML(gladefile) > > self.widgets.signal_autoconnect(Application.__dict__) > > > > def on_button1_clicked(widget, event): > > print 'hola' > > > > > > Pero si on_button1_clicked() no es un m_todo de clase, es decir: > > > > def on_button1_clicked(self, widget, event): > > print 'hola' > > > > Entonces el autoconnect no se entera y llama a este m_todo con 2 argumentos > > en lugar de tres. Alguien sabe si se puede hacer? > > > > Veamos, tienes un fallo en lo siguiente: El callback para la senial > > 'clicked' [1] es el siguiente > > def callback(button): > pass > > > o si es un metodo de clase > > > def callback(self, button): > pass > > > Por eso en tu ejemplo te funciona el metodo para una clase porque tienes la > suerte de estar dandole 2 argumentos: > > def on_button1_clicked(widget, event): > print hola > > si haces esto > > def on_button1_clicked(widget, event): > print widget, event > > probablemente te des cuenta que tu argumento widget es en realidad de tipo > Application y tu argumento event es de tipo gtk.Button > > Despues de todo este rollo te respondo a tu pregunta: > > import pygtk > pygtk.require('2.0') > import gtk > import gtk.glade > > def on_button1_clicked(button): > print 'hola' > > widgets = gtk.glade.XML(gladefile) > widgets.autoconnect(locals()) > > No se si me he explicado bien > > Lorenzo Gil > > [1] > http://www.moeraki.com/pygtkreference/pygtk2reference/class-gtkbutton.html#signal-gtkbutton--clicked > > From tjavier en usuarios.retecal.es Thu Aug 21 01:09:48 2003 From: tjavier en usuarios.retecal.es (=?ISO-8859-1?Q?Tom=E1s?= Javier Robles Prado) Date: Thu, 21 Aug 2003 01:09:48 +0200 Subject: Programas Python Message-ID: <1061420988.21381.10.camel@cable200a204.usuarios.retecal.es> Hola, Respondiendo un poco a un par de hilos que aparecieron hace unos pocos días sobre dónde colgar pequeños programas de Python, que no encajan en sitios como SourceForge o Forja, he habilitado en mi web la posibilidad de subir lo que cada uno considere oportuno. Lo he pensado para programas o scripts cortos, que no ocupen demasiado. Supongo que estaría mejor en la web de Python-es pero hasta que eche a andar quizá esto le resulte útil a alguien. La url es http://milugar.homeip.net:8080/mi_lugar/python/uploads/ -- Un saludo, Tomás Javier Robles Prado http://milugar.doesntexist.org ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From siosss en ono.com Thu Aug 21 16:34:04 2003 From: siosss en ono.com (Sonia) Date: Thu, 21 Aug 2003 09:34:04 -0500 Subject: sobre listas References: <20030819121151.6d2a5d51.dvilla@gmx.net><007801c3672e$8ec77a20$c3b3ca51@Sonia> <3F433427.5030900@arrakis.es><006701c3678a$cff9aca0$c3b3ca51@Sonia> <1377093502.20030820222154@eibar.org> Message-ID: <005401c367f1$4ca707a0$c3b3ca51@Sonia> no . no puedo. eso es lo malo. con diccionarios seria bastante mas rapido y sencillo! ----- Original Message ----- From: Mikel Larreategi To: La lista de python en castellano Sent: Wednesday, August 20, 2003 3:21 PM Subject: Re[2]: [Python-es] Re: sobre listas > 21/08/03-n Sonia-(e)k idatzi du: > El jueves, 21 de agosto de 2003 Sonia escribió: > > > dejo mi version a ver si hay mucha cosa mal > > recuerdo q el enunciado es , dada una cadena de palabras, mostrar las > > palabras q contienen la letra mas frecuente de esa cadena > > > mi version(tradicional): > > > (el join si q lo habia dado , lo demas nada de nada) > > Sonia, una pregunta: Puedes utilizar diccionarios? > > Saludos, > > Mikel > ---- > http://usuarios.lycos.es/erral > PGP Key ID: 0x597B543C > Bidaltzen dizkidazun mezuekin arazorik baduzu (zerbitzariak itzultzen baditu, ...) bidali helbide honetara: > Si tienes problemas con los mensajes que me mandas (devolucion, ...) envialos a: > erral2000 en euskalnet.net > > Barkatu eragozpenak > Perdona las molestias > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From ch3m4 en ch3m4.org Thu Aug 21 09:50:34 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-15?Q?Chema_Cort=E9s?=) Date: Thu, 21 Aug 2003 09:50:34 +0200 Subject: Fwd: ayuda!! In-Reply-To: <003401c36783$6a239780$c3b3ca51@Sonia> References: <1061204393.3f40b1a955743@www.ch3m4.org><1061208099.15831.16.camel@trantor.movidream> <00a701c36731$cbbc9ca0$c3b3ca51@Sonia> <003401c36783$6a239780$c3b3ca51@Sonia> Message-ID: Sonia escribió: > no! me da a mi q no puedo usar rebandas jeje! > pero buen intento! Pués qué lástima, pues sería así de fácil: def recorrer(coste_tramo,ini,fin): #obtener 'recorrido' if ini<=fin: recorrido=coste_tramo[ini:fin+1] else: recorrido=coste_tramo[fin:ini+1].reverse() #coste total coste=sum(recorrido) #descuentos i=0 while i+3<=len(recorrido): coste-=min(recorrido[i:i+3]) i+=3 return coste ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From siosss en ono.com Thu Aug 21 16:48:04 2003 From: siosss en ono.com (Sonia) Date: Thu, 21 Aug 2003 09:48:04 -0500 Subject: Fwd: ayuda!! References: <1061204393.3f40b1a955743@www.ch3m4.org><1061208099.15831.16.camel@trantor.movidream><00a701c36731$cbbc9ca0$c3b3ca51@Sonia> <003401c36783$6a239780$c3b3ca51@Sonia> Message-ID: <00af01c367f3$3a588720$c3b3ca51@Sonia> espera, espera. rebandas para ti q son?? esto?? [ini:fin+1] o esto? reverse() pq si es lo 1º si q puedo, pero aki lo llaman¡mos operadores de corte. lo segundo si q no se lo q es ----- Original Message ----- From: Chema Cortés To: Sent: Thursday, August 21, 2003 2:50 AM Subject: [Python-es] Re: Fwd: ayuda!! > Sonia escribió: > > no! me da a mi q no puedo usar rebandas jeje! > > pero buen intento! > > Pués qué lástima, pues sería así de fácil: > > > def recorrer(coste_tramo,ini,fin): > > #obtener 'recorrido' > if ini<=fin: > recorrido=coste_tramo[ini:fin+1] > else: > recorrido=coste_tramo[fin:ini+1].reverse() > > #coste total > coste=sum(recorrido) > > #descuentos > i=0 > while i+3<=len(recorrido): > coste-=min(recorrido[i:i+3]) > i+=3 > > return coste > > > ---------------------------------------------------------------------------- ---- _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lgs en sicem.biz Thu Aug 21 10:18:05 2003 From: lgs en sicem.biz (Lorenzo Gil Sanchez) Date: 21 Aug 2003 10:18:05 +0200 Subject: glade In-Reply-To: <20030820222023.24dc7126.dvilla@gmx.net> References: <20030820222023.24dc7126.dvilla@gmx.net> Message-ID: <1061453884.2934.1.camel@i8100> A ver si ahora te he entendido bien: import pygtk pygtk.require("2.0") import gtk, gtk.glade class Application: def __init__(self): self.widgets = gtk.glade.XML('ejemplo.glade') self.widgets.signal_autoconnect(self) # <- OJO al self def on_button1_clicked(self, *args): print 'hola' print self, args app = Application() gtk.main() creo que eso es lo que quieres Un saludo Lorenzo NOTA: otra vez, mandame el archivo de glade please. El mié, 20-08-2003 a las 22:20, dvilla en gmx.net escribió: > Hola: > > Soy yo el que no se ha explicado bien. Necesito que el callback sea un método > (pero no un método clase), es decir, que no me sirve un método estático. Esto es > así porque dentro del método tengo que utilzar atributos del objeto actual. > > Prueba esto: > > import pygtk > pygtk.require("2.0") > > import gtk, gtk.glade > > class Application: > def __init__(self): > self.widgets = gtk.glade.XML(gladefile) > self.widgets.signal_autoconnect(Application.__dict__) > > def on_button1_clicked(self, *args): > print 'hola' > print self, args > > app = Application() > gtk.main() > > Según te he entendido, tu dices que en 'self' viene la referencia a objeto y en > 'args' el GtkWidget, pues no. Prueba y verás que en 'self' viene el > GtkWidget y en 'args' un GdkEvent. > > Si haces un diccionario a mano, es decir: > > import pygtk > pygtk.require("2.0") > > import gtk, gtk.glade > > class Application: > def __init__(self): > self.widgets = gtk.glade.XML(gladefile) > callbacks = {"on_button1_clicked": self.on_button1_clicked} > self.widgets.signal_autoconnect(callbacks) > > def on_button1_clicked(self, *args): > print 'hola' > print self, args > > app = Application() > gtk.main() > > Entonces si funciona bien: en 'self' viene la referencia al objeto y en 'args' > vienen el GtkWidget y el GdkEvent. Pero yo quiero saber si se puede hacer con el > signal_autoconnect. > > Saludos. > > > El Wed, 20 Aug 2003 21:26:33 +0200 > Lorenzo Gil Sanchez escribió: > > > El mi_, 20-08-2003 a las 20:31, dvilla en gmx.net escribi_: > > Hola: > > > > > > Alguien sabe si el signal_autoconnect() de libglade se puede utilizar de > > > modo que los callbacks sean m_todos no-de-clase. Este ejemplo me funciona: > > > > > > import pygtk > > > pygtk.require("2.0") > > > > > > import gtk, gtk.glade > > > > > > class Application: > > > def __init__(self): > > > self.widgets = gtk.glade.XML(gladefile) > > > self.widgets.signal_autoconnect(Application.__dict__) > > > > > > def on_button1_clicked(widget, event): > > > print 'hola' > > > > > > > > > Pero si on_button1_clicked() no es un m_todo de clase, es decir: > > > > > > def on_button1_clicked(self, widget, event): > > > print 'hola' > > > > > > Entonces el autoconnect no se entera y llama a este m_todo con 2 argumentos > > > en lugar de tres. Alguien sabe si se puede hacer? > > > > > > Veamos, tienes un fallo en lo siguiente: El callback para la senial > > > 'clicked' [1] es el siguiente > > > > def callback(button): > > pass > > > > > > o si es un metodo de clase > > > > > > def callback(self, button): > > pass > > > > > > Por eso en tu ejemplo te funciona el metodo para una clase porque tienes la > > suerte de estar dandole 2 argumentos: > > > > def on_button1_clicked(widget, event): > > print hola > > > > si haces esto > > > > def on_button1_clicked(widget, event): > > print widget, event > > > > probablemente te des cuenta que tu argumento widget es en realidad de tipo > > Application y tu argumento event es de tipo gtk.Button > > > > Despues de todo este rollo te respondo a tu pregunta: > > > > import pygtk > > pygtk.require('2.0') > > import gtk > > import gtk.glade > > > > def on_button1_clicked(button): > > print 'hola' > > > > widgets = gtk.glade.XML(gladefile) > > widgets.autoconnect(locals()) > > > > No se si me he explicado bien > > > > Lorenzo Gil > > > > [1] > > http://www.moeraki.com/pygtkreference/pygtk2reference/class-gtkbutton.html#signal-gtkbutton--clicked > > > > > > From ch3m4 en ch3m4.org Thu Aug 21 10:19:27 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-15?Q?Chema_Cort=E9s?=) Date: Thu, 21 Aug 2003 10:19:27 +0200 Subject: Fwd: ayuda!! In-Reply-To: <00af01c367f3$3a588720$c3b3ca51@Sonia> References: <1061204393.3f40b1a955743@www.ch3m4.org><1061208099.15831.16.camel@trantor.movidream><00a701c36731$cbbc9ca0$c3b3ca51@Sonia> <003401c36783$6a239780$c3b3ca51@Sonia> <00af01c367f3$3a588720$c3b3ca51@Sonia> Message-ID: Sonia escribió: > espera, espera. rebandas para ti q son?? > esto?? > [ini:fin+1] > > o esto? > reverse() > > pq si es lo 1º si q puedo, pero aki lo llaman¡mos operadores de corte. lo > segundo si q no se lo q es En inglés "slices". El operador de corte será el ':', pero al proceso lo estamos llamando "crear rebanadas" (con cierto tono castizo :-) El reverse() es un método de las listas para invertir el orden de los elementos. ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From siosss en ono.com Thu Aug 21 17:12:06 2003 From: siosss en ono.com (Sonia) Date: Thu, 21 Aug 2003 10:12:06 -0500 Subject: Fwd: ayuda!! References: <1061204393.3f40b1a955743@www.ch3m4.org><1061208099.15831.16.camel@trantor.movidream><00a701c36731$cbbc9ca0$c3b3ca51@Sonia><003401c36783$6a239780$c3b3ca51@Sonia> <00af01c367f3$3a588720$c3b3ca51@Sonia> Message-ID: <00ee01c367f6$956d7460$c3b3ca51@Sonia> vale! pues entonces, menos el reverse, lo otro si q podre gastarlo. a ver si cambio ahora el programa. ayer mande el otro(el de la cadena de palabras q tenia q ver la letra mas frecuente y sacar las palabras. si tienes un momentin, echa un vistazo. voy a arreglar este ahora. gracias!! ----- Original Message ----- From: Chema Cortés To: Sent: Thursday, August 21, 2003 3:19 AM Subject: [Python-es] Re: Fwd: ayuda!! > Sonia escribió: > > > espera, espera. rebandas para ti q son?? > > esto?? > > [ini:fin+1] > > > > o esto? > > reverse() > > > > pq si es lo 1º si q puedo, pero aki lo llaman¡mos operadores de corte. lo > > segundo si q no se lo q es > > En inglés "slices". > > El operador de corte será el ':', pero al proceso lo estamos llamando > "crear rebanadas" (con cierto tono castizo :-) > > El reverse() es un método de las listas para invertir el orden de los > elementos. > > > ---------------------------------------------------------------------------- ---- _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From dvilla en gmx.net Thu Aug 21 11:12:18 2003 From: dvilla en gmx.net (dvilla en gmx.net) Date: Thu, 21 Aug 2003 11:12:18 +0200 Subject: glade In-Reply-To: <1061453884.2934.1.camel@i8100> References: <20030820222023.24dc7126.dvilla@gmx.net> <1061453884.2934.1.camel@i8100> Message-ID: <20030821111218.50662725.dvilla@gmx.net> Hola: Te mando el .glade pero es muy tonto, es una ventana con un botón. Lo de pasar la referencia al objeto no parece funcionar. Se supone que el autoconnect sólo admite diccionarios, no?. Autoconnect compara las cadenas definidas en el diccionario con los handlers del .glade. self.__class__.__dict__ es lo mismo que Application.__dict__ pero esos diccionarios tienen referencias a los métodos como si fuesen estáticos, es decir, no se especifica ninguna referencia a ningún objeto. El 21 Aug 2003 10:18:05 +0200 Lorenzo Gil Sanchez escribió: > A ver si ahora te he entendido bien: > > import pygtk > pygtk.require("2.0") > > import gtk, gtk.glade > > class Application: > def __init__(self): > self.widgets = gtk.glade.XML('ejemplo.glade') > self.widgets.signal_autoconnect(self) # <- OJO al self > > def on_button1_clicked(self, *args): > print 'hola' > print self, args > > app = Application() > gtk.main() > > > creo que eso es lo que quieres > > Un saludo > > Lorenzo > > NOTA: otra vez, mandame el archivo de glade please. > > El mié, 20-08-2003 a las 22:20, dvilla en gmx.net escribió: > > Hola: > > > > Soy yo el que no se ha explicado bien. Necesito que el callback sea un > > método(pero no un método clase), es decir, que no me sirve un método > > estático. Esto es así porque dentro del método tengo que utilzar atributos > > del objeto actual. > > > > Prueba esto: > > > > import pygtk > > pygtk.require("2.0") > > > > import gtk, gtk.glade > > > > class Application: > > def __init__(self): > > self.widgets = gtk.glade.XML(gladefile) > > self.widgets.signal_autoconnect(Application.__dict__) > > > > def on_button1_clicked(self, *args): > > print 'hola' > > print self, args > > > > app = Application() > > gtk.main() > > > > Según te he entendido, tu dices que en 'self' viene la referencia a objeto y > > en'args' el GtkWidget, pues no. Prueba y verás que en 'self' viene el > > GtkWidget y en 'args' un GdkEvent. > > > > Si haces un diccionario a mano, es decir: > > > > import pygtk > > pygtk.require("2.0") > > > > import gtk, gtk.glade > > > > class Application: > > def __init__(self): > > self.widgets = gtk.glade.XML(gladefile) > > callbacks = {"on_button1_clicked": self.on_button1_clicked} > > self.widgets.signal_autoconnect(callbacks) > > > > def on_button1_clicked(self, *args): > > print 'hola' > > print self, args > > > > app = Application() > > gtk.main() > > > > Entonces si funciona bien: en 'self' viene la referencia al objeto y en > > 'args' vienen el GtkWidget y el GdkEvent. Pero yo quiero saber si se puede > > hacer con el signal_autoconnect. > > > > Saludos. > > > > > > El Wed, 20 Aug 2003 21:26:33 +0200 > > Lorenzo Gil Sanchez escribió: > > > > > El mi_, 20-08-2003 a las 20:31, dvilla en gmx.net escribi_: > > > Hola: > > > > > > > > Alguien sabe si el signal_autoconnect() de libglade se puede utilizar de > > > > modo que los callbacks sean m_todos no-de-clase. Este ejemplo me > > > > funciona: > > > > > > > > import pygtk > > > > pygtk.require("2.0") > > > > > > > > import gtk, gtk.glade > > > > > > > > class Application: > > > > def __init__(self): > > > > self.widgets = gtk.glade.XML(gladefile) > > > > self.widgets.signal_autoconnect(Application.__dict__) > > > > > > > > def on_button1_clicked(widget, event): > > > > print 'hola' > > > > > > > > > > > > Pero si on_button1_clicked() no es un m_todo de clase, es decir: > > > > > > > > def on_button1_clicked(self, widget, event): > > > > print 'hola' > > > > > > > > Entonces el autoconnect no se entera y llama a este m_todo con 2 > > > > argumentos en lugar de tres. Alguien sabe si se puede hacer? > > > > > > > > Veamos, tienes un fallo en lo siguiente: El callback para la senial > > > > 'clicked' [1] es el siguiente > > > > > > def callback(button): > > > pass > > > > > > > > > o si es un metodo de clase > > > > > > > > > def callback(self, button): > > > pass > > > > > > > > > Por eso en tu ejemplo te funciona el metodo para una clase porque tienes > > > la suerte de estar dandole 2 argumentos: > > > > > > def on_button1_clicked(widget, event): > > > print hola > > > > > > si haces esto > > > > > > def on_button1_clicked(widget, event): > > > print widget, event > > > > > > probablemente te des cuenta que tu argumento widget es en realidad de tipo > > > Application y tu argumento event es de tipo gtk.Button > > > > > > Despues de todo este rollo te respondo a tu pregunta: > > > > > > import pygtk > > > pygtk.require('2.0') > > > import gtk > > > import gtk.glade > > > > > > def on_button1_clicked(button): > > > print 'hola' > > > > > > widgets = gtk.glade.XML(gladefile) > > > widgets.autoconnect(locals()) > > > > > > No se si me he explicado bien > > > > > > Lorenzo Gil > > > > > > [1] > > > http://www.moeraki.com/pygtkreference/pygtk2reference/class-gtkbutton.html#signal-gtkbutton--clicked > > > > > > > > > > > > ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: iface.glade Type: application/octet-stream Size: 1943 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lgs en sicem.biz Thu Aug 21 11:35:12 2003 From: lgs en sicem.biz (Lorenzo Gil Sanchez) Date: 21 Aug 2003 11:35:12 +0200 Subject: glade In-Reply-To: <20030821111218.50662725.dvilla@gmx.net> References: <1061453884.2934.1.camel@i8100> <20030821111218.50662725.dvilla@gmx.net> Message-ID: <1061458511.2934.4.camel@i8100> No se exactamente lo que hace el autoconnect intermante pero a mi me funciona con el self, lo has probado? Acabo de volver a probarlo esta vez con tu archivo de glade y funciona. Cunado pulso en el boton esto es la salida que me da: [lgs en i8100 lgs]$ python iface.py hola <__main__.Application instance at 0x824172c> Este es el codigo: import pygtk pygtk.require("2.0") import gtk, gtk.glade class Application: def __init__(self): self.widgets = gtk.glade.XML('iface.glade') self.widgets.signal_autoconnect(self) # <- OJO al self def on_button1_clicked(self, button, event): print self print button print event app = Application() gtk.main() Te lo adjunto por si quieres probarlo tu. Lorenzo El jue, 21-08-2003 a las 11:12, dvilla en gmx.net escribió: > Hola: > > Te mando el .glade pero es muy tonto, es una ventana con un botón. > Lo de pasar la referencia al objeto no parece funcionar. Se supone que el > autoconnect sólo admite diccionarios, no?. Autoconnect compara las cadenas > definidas en el diccionario con los handlers del .glade. self.__class__.__dict__ > es lo mismo que Application.__dict__ pero esos diccionarios tienen referencias a > los métodos como si fuesen estáticos, es decir, no se especifica ninguna > referencia a ningún objeto. > > > El 21 Aug 2003 10:18:05 +0200 > Lorenzo Gil Sanchez escribió: > > > A ver si ahora te he entendido bien: > > > > import pygtk > > pygtk.require("2.0") > > > > import gtk, gtk.glade > > > > class Application: > > def __init__(self): > > self.widgets = gtk.glade.XML('ejemplo.glade') > > self.widgets.signal_autoconnect(self) # <- OJO al self > > > > def on_button1_clicked(self, *args): > > print 'hola' > > print self, args > > > > app = Application() > > gtk.main() > > > > > > creo que eso es lo que quieres > > > > Un saludo > > > > Lorenzo > > > > NOTA: otra vez, mandame el archivo de glade please. > > > > El mié, 20-08-2003 a las 22:20, dvilla en gmx.net escribió: > > > Hola: > > > > > > Soy yo el que no se ha explicado bien. Necesito que el callback sea un > > > método(pero no un método clase), es decir, que no me sirve un método > > > estático. Esto es así porque dentro del método tengo que utilzar atributos > > > del objeto actual. > > > > > > Prueba esto: > > > > > > import pygtk > > > pygtk.require("2.0") > > > > > > import gtk, gtk.glade > > > > > > class Application: > > > def __init__(self): > > > self.widgets = gtk.glade.XML(gladefile) > > > self.widgets.signal_autoconnect(Application.__dict__) > > > > > > def on_button1_clicked(self, *args): > > > print 'hola' > > > print self, args > > > > > > app = Application() > > > gtk.main() > > > > > > Según te he entendido, tu dices que en 'self' viene la referencia a objeto y > > > en'args' el GtkWidget, pues no. Prueba y verás que en 'self' viene el > > > GtkWidget y en 'args' un GdkEvent. > > > > > > Si haces un diccionario a mano, es decir: > > > > > > import pygtk > > > pygtk.require("2.0") > > > > > > import gtk, gtk.glade > > > > > > class Application: > > > def __init__(self): > > > self.widgets = gtk.glade.XML(gladefile) > > > callbacks = {"on_button1_clicked": self.on_button1_clicked} > > > self.widgets.signal_autoconnect(callbacks) > > > > > > def on_button1_clicked(self, *args): > > > print 'hola' > > > print self, args > > > > > > app = Application() > > > gtk.main() > > > > > > Entonces si funciona bien: en 'self' viene la referencia al objeto y en > > > 'args' vienen el GtkWidget y el GdkEvent. Pero yo quiero saber si se puede > > > hacer con el signal_autoconnect. > > > > > > Saludos. > > > > > > > > > El Wed, 20 Aug 2003 21:26:33 +0200 > > > Lorenzo Gil Sanchez escribió: > > > > > > > El mi_, 20-08-2003 a las 20:31, dvilla en gmx.net escribi_: > > > > Hola: > > > > > > > > > > Alguien sabe si el signal_autoconnect() de libglade se puede utilizar de > > > > > modo que los callbacks sean m_todos no-de-clase. Este ejemplo me > > > > > funciona: > > > > > > > > > > import pygtk > > > > > pygtk.require("2.0") > > > > > > > > > > import gtk, gtk.glade > > > > > > > > > > class Application: > > > > > def __init__(self): > > > > > self.widgets = gtk.glade.XML(gladefile) > > > > > self.widgets.signal_autoconnect(Application.__dict__) > > > > > > > > > > def on_button1_clicked(widget, event): > > > > > print 'hola' > > > > > > > > > > > > > > > Pero si on_button1_clicked() no es un m_todo de clase, es decir: > > > > > > > > > > def on_button1_clicked(self, widget, event): > > > > > print 'hola' > > > > > > > > > > Entonces el autoconnect no se entera y llama a este m_todo con 2 > > > > > argumentos en lugar de tres. Alguien sabe si se puede hacer? > > > > > > > > > > Veamos, tienes un fallo en lo siguiente: El callback para la senial > > > > > 'clicked' [1] es el siguiente > > > > > > > > def callback(button): > > > > pass > > > > > > > > > > > > o si es un metodo de clase > > > > > > > > > > > > def callback(self, button): > > > > pass > > > > > > > > > > > > Por eso en tu ejemplo te funciona el metodo para una clase porque tienes > > > > la suerte de estar dandole 2 argumentos: > > > > > > > > def on_button1_clicked(widget, event): > > > > print hola > > > > > > > > si haces esto > > > > > > > > def on_button1_clicked(widget, event): > > > > print widget, event > > > > > > > > probablemente te des cuenta que tu argumento widget es en realidad de tipo > > > > Application y tu argumento event es de tipo gtk.Button > > > > > > > > Despues de todo este rollo te respondo a tu pregunta: > > > > > > > > import pygtk > > > > pygtk.require('2.0') > > > > import gtk > > > > import gtk.glade > > > > > > > > def on_button1_clicked(button): > > > > print 'hola' > > > > > > > > widgets = gtk.glade.XML(gladefile) > > > > widgets.autoconnect(locals()) > > > > > > > > No se si me he explicado bien > > > > > > > > Lorenzo Gil > > > > > > > > [1] > > > > http://www.moeraki.com/pygtkreference/pygtk2reference/class-gtkbutton.html#signal-gtkbutton--clicked > > > > > > > > > > > > > > > > > > > > ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: iface.py Type: text/x-python Size: 365 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From dvilla en gmx.net Thu Aug 21 12:48:11 2003 From: dvilla en gmx.net (dvilla en gmx.net) Date: Thu, 21 Aug 2003 12:48:11 +0200 Subject: glade In-Reply-To: <1061458511.2934.4.camel@i8100> References: <20030820222023.24dc7126.dvilla@gmx.net> <1061453884.2934.1.camel@i8100> <20030821111218.50662725.dvilla@gmx.net> <1061458511.2934.4.camel@i8100> Message-ID: <20030821124811.756f4853.dvilla@gmx.net> Hola: Cuando ponía el self me daba este error: ** (app.py:1714): WARNING **: handler for `on_button1_clicked' not callable or a tuple Como me estaba volviendo loco, he empezado a meter cachos de mi programa en el iface.py que si que funciona hasta que he encontrado el problema. Era culpa de un método__getitem__[1] que tengo definido para extraer widgets del árbol 'self.widgets'. Por alguna razón que desconozco este método da problemas a signal_autoconnect. Alguna idea? Saludos y muchas gracias. [1] http://www.russnelson.com/pyglade-tutorial/pyglade-tutorial El 21 Aug 2003 11:35:12 +0200 Lorenzo Gil Sanchez escribió: > No se exactamente lo que hace el autoconnect intermante pero a mi me > funciona con el self, lo has probado? Acabo de volver a probarlo esta > vez con tu archivo de glade y funciona. Cunado pulso en el boton esto es > la salida que me da: > > [lgs en i8100 lgs]$ python iface.py > hola > <__main__.Application instance at 0x824172c> > > > > Este es el codigo: > > import pygtk > pygtk.require("2.0") > > import gtk, gtk.glade > > class Application: > def __init__(self): > self.widgets = gtk.glade.XML('iface.glade') > self.widgets.signal_autoconnect(self) # <- OJO al self > > def on_button1_clicked(self, button, event): > print self > print button > print event > > app = Application() > gtk.main() > > > Te lo adjunto por si quieres probarlo tu. > > Lorenzo > > > El jue, 21-08-2003 a las 11:12, dvilla en gmx.net escribió: > > Hola: > > > > Te mando el .glade pero es muy tonto, es una ventana con un botón. > > Lo de pasar la referencia al objeto no parece funcionar. Se supone que el > > autoconnect sólo admite diccionarios, no?. Autoconnect compara las cadenas > > definidas en el diccionario con los handlers del .glade. > > self.__class__.__dict__ es lo mismo que Application.__dict__ pero esos > > diccionarios tienen referencias a los métodos como si fuesen estáticos, es > > decir, no se especifica ninguna referencia a ningún objeto. > > > > > > El 21 Aug 2003 10:18:05 +0200 > > Lorenzo Gil Sanchez escribió: > > > > > A ver si ahora te he entendido bien: > > > > > > import pygtk > > > pygtk.require("2.0") > > > > > > import gtk, gtk.glade > > > > > > class Application: > > > def __init__(self): > > > self.widgets = gtk.glade.XML('ejemplo.glade') > > > self.widgets.signal_autoconnect(self) # <- OJO al self > > > > > > def on_button1_clicked(self, *args): > > > print 'hola' > > > print self, args > > > > > > app = Application() > > > gtk.main() > > > > > > > > > creo que eso es lo que quieres > > > > > > Un saludo > > > > > > Lorenzo > > > > > > NOTA: otra vez, mandame el archivo de glade please. > > > > > > El mié, 20-08-2003 a las 22:20, dvilla en gmx.net escribió: > > > > Hola: > > > > > > > > Soy yo el que no se ha explicado bien. Necesito que el callback sea un > > > > método(pero no un método clase), es decir, que no me sirve un método > > > > estático. Esto es así porque dentro del método tengo que utilzar > > > > atributos del objeto actual. > > > > > > > > Prueba esto: > > > > > > > > import pygtk > > > > pygtk.require("2.0") > > > > > > > > import gtk, gtk.glade > > > > > > > > class Application: > > > > def __init__(self): > > > > self.widgets = gtk.glade.XML(gladefile) > > > > self.widgets.signal_autoconnect(Application.__dict__) > > > > > > > > def on_button1_clicked(self, *args): > > > > print 'hola' > > > > print self, args > > > > > > > > app = Application() > > > > gtk.main() > > > > > > > > Según te he entendido, tu dices que en 'self' viene la referencia a > > > > objeto y en'args' el GtkWidget, pues no. Prueba y verás que en 'self' > > > > viene el GtkWidget y en 'args' un GdkEvent. > > > > > > > > Si haces un diccionario a mano, es decir: > > > > > > > > import pygtk > > > > pygtk.require("2.0") > > > > > > > > import gtk, gtk.glade > > > > > > > > class Application: > > > > def __init__(self): > > > > self.widgets = gtk.glade.XML(gladefile) > > > > callbacks = {"on_button1_clicked": self.on_button1_clicked} > > > > self.widgets.signal_autoconnect(callbacks) > > > > > > > > def on_button1_clicked(self, *args): > > > > print 'hola' > > > > print self, args > > > > > > > > app = Application() > > > > gtk.main() > > > > > > > > Entonces si funciona bien: en 'self' viene la referencia al objeto y en > > > > 'args' vienen el GtkWidget y el GdkEvent. Pero yo quiero saber si se > > > > puede hacer con el signal_autoconnect. > > > > > > > > Saludos. > > > > > > > > > > > > El Wed, 20 Aug 2003 21:26:33 +0200 > > > > Lorenzo Gil Sanchez escribió: > > > > > > > > > El mi_, 20-08-2003 a las 20:31, dvilla en gmx.net escribi_: > > > > > Hola: > > > > > > > > > > > > Alguien sabe si el signal_autoconnect() de libglade se puede > > > > > > utilizar de modo que los callbacks sean m_todos no-de-clase. Este > > > > > > ejemplo me funciona: > > > > > > > > > > > > import pygtk > > > > > > pygtk.require("2.0") > > > > > > > > > > > > import gtk, gtk.glade > > > > > > > > > > > > class Application: > > > > > > def __init__(self): > > > > > > self.widgets = gtk.glade.XML(gladefile) > > > > > > self.widgets.signal_autoconnect(Application.__dict__) > > > > > > > > > > > > def on_button1_clicked(widget, event): > > > > > > print 'hola' > > > > > > > > > > > > > > > > > > Pero si on_button1_clicked() no es un m_todo de clase, es decir: > > > > > > > > > > > > def on_button1_clicked(self, widget, event): > > > > > > print 'hola' > > > > > > > > > > > > Entonces el autoconnect no se entera y llama a este m_todo con 2 > > > > > > argumentos en lugar de tres. Alguien sabe si se puede hacer? > > > > > > > > > > > > Veamos, tienes un fallo en lo siguiente: El callback para la senial > > > > > > 'clicked' [1] es el siguiente > > > > > > > > > > def callback(button): > > > > > pass > > > > > > > > > > > > > > > o si es un metodo de clase > > > > > > > > > > > > > > > def callback(self, button): > > > > > pass > > > > > > > > > > > > > > > Por eso en tu ejemplo te funciona el metodo para una clase porque > > > > > tienes la suerte de estar dandole 2 argumentos: > > > > > > > > > > def on_button1_clicked(widget, event): > > > > > print hola > > > > > > > > > > si haces esto > > > > > > > > > > def on_button1_clicked(widget, event): > > > > > print widget, event > > > > > > > > > > probablemente te des cuenta que tu argumento widget es en realidad de > > > > > tipo Application y tu argumento event es de tipo gtk.Button > > > > > > > > > > Despues de todo este rollo te respondo a tu pregunta: > > > > > > > > > > import pygtk > > > > > pygtk.require('2.0') > > > > > import gtk > > > > > import gtk.glade > > > > > > > > > > def on_button1_clicked(button): > > > > > print 'hola' > > > > > > > > > > widgets = gtk.glade.XML(gladefile) > > > > > widgets.autoconnect(locals()) > > > > > > > > > > No se si me he explicado bien > > > > > > > > > > Lorenzo Gil > > > > > > > > > > [1] > > > > > http://www.moeraki.com/pygtkreference/pygtk2reference/class-gtkbutton.html#signal-gtkbutton--clicked > > > > > > > > > > > > > > > > > > > > > > > > > > > > > From ch3m4 en ch3m4.org Thu Aug 21 13:23:37 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Thu, 21 Aug 2003 13:23:37 +0200 Subject: glade In-Reply-To: <20030821124811.756f4853.dvilla@gmx.net> References: <20030820222023.24dc7126.dvilla@gmx.net> <1061453884.2934.1.camel@i8100> <20030821111218.50662725.dvilla@gmx.net> <1061458511.2934.4.camel@i8100> <20030821124811.756f4853.dvilla@gmx.net> Message-ID: dvilla en gmx.net escribió: > Hola: > > Cuando ponía el self me daba este error: > > ** (app.py:1714): WARNING **: handler for `on_button1_clicked' not callable or a > tuple > > Como me estaba volviendo loco, he empezado a meter cachos de mi programa en el > iface.py que si que funciona hasta que he encontrado el problema. Era culpa de > un método__getitem__[1] que tengo definido para extraer widgets del árbol > 'self.widgets'. Por alguna razón que desconozco este método da problemas a > signal_autoconnect. Alguna idea? > > Saludos y muchas gracias. > > [1] http://www.russnelson.com/pyglade-tutorial/pyglade-tutorial Del GTK/glade poco puedo ayudar, pero puedo darte alguna ayuda en cuanto al resto. Según veo, los handlers que conecta 'signal_autoconnect' reciben dos argumentos: widget y evento. Estos handlers son referencias "estáticas", o sea, no son métodos de objetos aunque te parezcan así definidos. Poner 'self' como nombre del primer argumento es tan sólo un convenio que, en el caso del autoconnect, no se cumple. Los problemas con el __getitem__ son bastante lógicos. Este método es el que se emplea para obtener los elementos de un diccionario o lista. La verdad es que no se me ocurre ahora ninguna sugerencia, a no ser que el que emplees métodos estáticos ('staticmethod') para los handlers, aunque debería ver más de tu código para hacerme una idea. From ch3m4 en ch3m4.org Thu Aug 21 13:39:56 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Thu, 21 Aug 2003 13:39:56 +0200 Subject: sobre listas In-Reply-To: <006701c3678a$cff9aca0$c3b3ca51@Sonia> References: <20030819121151.6d2a5d51.dvilla@gmx.net> <007801c3672e$8ec77a20$c3b3ca51@Sonia> <3F433427.5030900@arrakis.es> <006701c3678a$cff9aca0$c3b3ca51@Sonia> Message-ID: Sonia escribió: > dejo mi version a ver si hay mucha cosa mal > recuerdo q el enunciado es , dada una cadena de palabras, mostrar las > palabras q contienen la letra mas frecuente de esa cadena > > mi version(tradicional): > > (el join si q lo habia dado , lo demas nada de nada) En general está muy bien. > def frecuencia(lista): > lista_todo=''.join(lista) > #lista_todo=[pepedaleamigoernesto] > #busco el caracter + frecuente en lista_todo > #voy a lista y saco las palabras q contienen ese caracter > > max=0 > letra_max=[] Si letra_max va a ser una letra, tal vez no necesites inicializarla como si fuera una lista. > lista_rdo=[] > cont=1 #pq si la letra esta (minimo 1) > for letra1 in range(0,len(lista_todo)): > for letra2 in range(0,len(lista_todo)): > #compara la 1 letra con todas...la 2º con todas... > if lista_todo[letra1]==lista_todo[letra2]: > cont=cont+1 > if cont>max: > max=cont > letra_max=lista_todo[letra1] > cont=0 Hasta aquí todo bien. Quizás se podría haber utiliza otro algoritmo, como los que te hemos sugerido en otros mensajes. Tal vez podrías optimizar el algoritmo para no volver a contar más de una vez la misma letra. > for palabra in lista: > for letra in palabra: > if palabra[letra]==letra_max: > lista_rdo.append(lista[palabra]) Aquí 'letra' y 'palabra' los estás empleando como índice. Más bien son lo que parecen, una letra y una palabra respectivamente. Tampoco sé si te lo han enseñado, pero el operador 'in' lo puedes emplear con cadenas de caracteres para saber si una palabra tiene una letra determinada: for palabra in lista: if letra_max in palabra: print palabra From lgs en sicem.biz Thu Aug 21 14:18:02 2003 From: lgs en sicem.biz (Lorenzo Gil Sanchez) Date: 21 Aug 2003 14:18:02 +0200 Subject: glade In-Reply-To: <20030821124811.756f4853.dvilla@gmx.net> References: <1061453884.2934.1.camel@i8100><1061458511.2934.4.camel@i8100> <20030821124811.756f4853.dvilla@gmx.net> Message-ID: <1061468282.4790.8.camel@i8100> Hablando con James Henstridge por IRC sobre el signal_autoconnect me ha comentado lo siguiente: lgs: it looks for handlers by calling __getitem__ on the object first, then __getattr__ Es decir, cuando haces self.widgets.signal_autoconnect(self) ese metodo llama a self.__getitem__ buscando los callbacks y si no los encuentra es cuando llama a __getattr__. La cosa es que como tu __getitem__ esta llamando a gtk.glade.XML.get_widget('nombre_widget') ahi es donde se lia el tema. En cualquier caso, no me parece acertado usar el __getitem__ si el unico beneficio es que escribes esto app = Application() app['button1].loquesea() en lugar de app = Application() app.widgets.get_widget('button1').loquesea() Un saludo Lorenzo Gil El jue, 21-08-2003 a las 12:48, dvilla en gmx.net escribió: > Hola: > > Cuando ponía el self me daba este error: > > ** (app.py:1714): WARNING **: handler for `on_button1_clicked' not callable or a > tuple > > Como me estaba volviendo loco, he empezado a meter cachos de mi programa en el > iface.py que si que funciona hasta que he encontrado el problema. Era culpa de > un método__getitem__[1] que tengo definido para extraer widgets del árbol > 'self.widgets'. Por alguna razón que desconozco este método da problemas a > signal_autoconnect. Alguna idea? > > Saludos y muchas gracias. > > [1] http://www.russnelson.com/pyglade-tutorial/pyglade-tutorial > > El 21 Aug 2003 11:35:12 +0200 > Lorenzo Gil Sanchez escribió: > > > No se exactamente lo que hace el autoconnect intermante pero a mi me > > funciona con el self, lo has probado? Acabo de volver a probarlo esta > > vez con tu archivo de glade y funciona. Cunado pulso en el boton esto es > > la salida que me da: > > > > [lgs en i8100 lgs]$ python iface.py > > hola > > <__main__.Application instance at 0x824172c> > > > > > > > > Este es el codigo: > > > > import pygtk > > pygtk.require("2.0") > > > > import gtk, gtk.glade > > > > class Application: > > def __init__(self): > > self.widgets = gtk.glade.XML('iface.glade') > > self.widgets.signal_autoconnect(self) # <- OJO al self > > > > def on_button1_clicked(self, button, event): > > print self > > print button > > print event > > > > app = Application() > > gtk.main() > > > > > > Te lo adjunto por si quieres probarlo tu. > > > > Lorenzo > > > > > > El jue, 21-08-2003 a las 11:12, dvilla en gmx.net escribió: > > > Hola: > > > > > > Te mando el .glade pero es muy tonto, es una ventana con un botón. > > > Lo de pasar la referencia al objeto no parece funcionar. Se supone que el > > > autoconnect sólo admite diccionarios, no?. Autoconnect compara las cadenas > > > definidas en el diccionario con los handlers del .glade. > > > self.__class__.__dict__ es lo mismo que Application.__dict__ pero esos > > > diccionarios tienen referencias a los métodos como si fuesen estáticos, es > > > decir, no se especifica ninguna referencia a ningún objeto. > > > > > > > > > El 21 Aug 2003 10:18:05 +0200 > > > Lorenzo Gil Sanchez escribió: > > > > > > > A ver si ahora te he entendido bien: > > > > > > > > import pygtk > > > > pygtk.require("2.0") > > > > > > > > import gtk, gtk.glade > > > > > > > > class Application: > > > > def __init__(self): > > > > self.widgets = gtk.glade.XML('ejemplo.glade') > > > > self.widgets.signal_autoconnect(self) # <- OJO al self > > > > > > > > def on_button1_clicked(self, *args): > > > > print 'hola' > > > > print self, args > > > > > > > > app = Application() > > > > gtk.main() > > > > > > > > > > > > creo que eso es lo que quieres > > > > > > > > Un saludo > > > > > > > > Lorenzo > > > > > > > > NOTA: otra vez, mandame el archivo de glade please. > > > > > > > > El mié, 20-08-2003 a las 22:20, dvilla en gmx.net escribió: > > > > > Hola: > > > > > > > > > > Soy yo el que no se ha explicado bien. Necesito que el callback sea un > > > > > método(pero no un método clase), es decir, que no me sirve un método > > > > > estático. Esto es así porque dentro del método tengo que utilzar > > > > > atributos del objeto actual. > > > > > > > > > > Prueba esto: > > > > > > > > > > import pygtk > > > > > pygtk.require("2.0") > > > > > > > > > > import gtk, gtk.glade > > > > > > > > > > class Application: > > > > > def __init__(self): > > > > > self.widgets = gtk.glade.XML(gladefile) > > > > > self.widgets.signal_autoconnect(Application.__dict__) > > > > > > > > > > def on_button1_clicked(self, *args): > > > > > print 'hola' > > > > > print self, args > > > > > > > > > > app = Application() > > > > > gtk.main() > > > > > > > > > > Según te he entendido, tu dices que en 'self' viene la referencia a > > > > > objeto y en'args' el GtkWidget, pues no. Prueba y verás que en 'self' > > > > > viene el GtkWidget y en 'args' un GdkEvent. > > > > > > > > > > Si haces un diccionario a mano, es decir: > > > > > > > > > > import pygtk > > > > > pygtk.require("2.0") > > > > > > > > > > import gtk, gtk.glade > > > > > > > > > > class Application: > > > > > def __init__(self): > > > > > self.widgets = gtk.glade.XML(gladefile) > > > > > callbacks = {"on_button1_clicked": self.on_button1_clicked} > > > > > self.widgets.signal_autoconnect(callbacks) > > > > > > > > > > def on_button1_clicked(self, *args): > > > > > print 'hola' > > > > > print self, args > > > > > > > > > > app = Application() > > > > > gtk.main() > > > > > > > > > > Entonces si funciona bien: en 'self' viene la referencia al objeto y en > > > > > 'args' vienen el GtkWidget y el GdkEvent. Pero yo quiero saber si se > > > > > puede hacer con el signal_autoconnect. > > > > > > > > > > Saludos. > > > > > > > > > > > > > > > El Wed, 20 Aug 2003 21:26:33 +0200 > > > > > Lorenzo Gil Sanchez escribió: > > > > > > > > > > > El mi_, 20-08-2003 a las 20:31, dvilla en gmx.net escribi_: > > > > > > Hola: > > > > > > > > > > > > > > Alguien sabe si el signal_autoconnect() de libglade se puede > > > > > > > utilizar de modo que los callbacks sean m_todos no-de-clase. Este > > > > > > > ejemplo me funciona: > > > > > > > > > > > > > > import pygtk > > > > > > > pygtk.require("2.0") > > > > > > > > > > > > > > import gtk, gtk.glade > > > > > > > > > > > > > > class Application: > > > > > > > def __init__(self): > > > > > > > self.widgets = gtk.glade.XML(gladefile) > > > > > > > self.widgets.signal_autoconnect(Application.__dict__) > > > > > > > > > > > > > > def on_button1_clicked(widget, event): > > > > > > > print 'hola' > > > > > > > > > > > > > > > > > > > > > Pero si on_button1_clicked() no es un m_todo de clase, es decir: > > > > > > > > > > > > > > def on_button1_clicked(self, widget, event): > > > > > > > print 'hola' > > > > > > > > > > > > > > Entonces el autoconnect no se entera y llama a este m_todo con 2 > > > > > > > argumentos en lugar de tres. Alguien sabe si se puede hacer? > > > > > > > > > > > > > > Veamos, tienes un fallo en lo siguiente: El callback para la senial > > > > > > > 'clicked' [1] es el siguiente > > > > > > > > > > > > def callback(button): > > > > > > pass > > > > > > > > > > > > > > > > > > o si es un metodo de clase > > > > > > > > > > > > > > > > > > def callback(self, button): > > > > > > pass > > > > > > > > > > > > > > > > > > Por eso en tu ejemplo te funciona el metodo para una clase porque > > > > > > tienes la suerte de estar dandole 2 argumentos: > > > > > > > > > > > > def on_button1_clicked(widget, event): > > > > > > print hola > > > > > > > > > > > > si haces esto > > > > > > > > > > > > def on_button1_clicked(widget, event): > > > > > > print widget, event > > > > > > > > > > > > probablemente te des cuenta que tu argumento widget es en realidad de > > > > > > tipo Application y tu argumento event es de tipo gtk.Button > > > > > > > > > > > > Despues de todo este rollo te respondo a tu pregunta: > > > > > > > > > > > > import pygtk > > > > > > pygtk.require('2.0') > > > > > > import gtk > > > > > > import gtk.glade > > > > > > > > > > > > def on_button1_clicked(button): > > > > > > print 'hola' > > > > > > > > > > > > widgets = gtk.glade.XML(gladefile) > > > > > > widgets.autoconnect(locals()) > > > > > > > > > > > > No se si me he explicado bien > > > > > > > > > > > > Lorenzo Gil > > > > > > > > > > > > [1] > > > > > > http://www.moeraki.com/pygtkreference/pygtk2reference/class-gtkbutton.html#signal-gtkbutton--clicked > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > From dvilla en gmx.net Thu Aug 21 16:23:39 2003 From: dvilla en gmx.net (dvilla en gmx.net) Date: Thu, 21 Aug 2003 16:23:39 +0200 Subject: glade In-Reply-To: <1061468282.4790.8.camel@i8100> References: <20030820222023.24dc7126.dvilla@gmx.net> <1061453884.2934.1.camel@i8100> <20030821111218.50662725.dvilla@gmx.net> <1061458511.2934.4.camel@i8100> <20030821124811.756f4853.dvilla@gmx.net> <1061468282.4790.8.camel@i8100> Message-ID: <20030821162339.58be0f60.dvilla@gmx.net> Hola: Muchisimas gracias por tu labor de investigación. La verdad es que lo siguiente era buscar el código fuente de PyGlade. Desde luego, lo que me cuentas lo explica problema y el mensaje de error que me daba: Cuando buscaba el callback encontraba una tupla en lugar de una referencia única. Pues nada, tema zanjado. Saludos y gracias de nuevo. El 21 Aug 2003 14:18:02 +0200 Lorenzo Gil Sanchez escribió: > Hablando con James Henstridge por IRC sobre el signal_autoconnect me ha > comentado lo siguiente: > > lgs: it looks for handlers by calling __getitem__ on the object > first, then __getattr__ > > Es decir, cuando haces self.widgets.signal_autoconnect(self) ese metodo > llama a self.__getitem__ buscando los callbacks y si no los encuentra es > cuando llama a __getattr__. La cosa es que como tu __getitem__ esta > llamando a gtk.glade.XML.get_widget('nombre_widget') ahi es donde se lia > el tema. > > En cualquier caso, no me parece acertado usar el __getitem__ si el unico > beneficio es que escribes esto > > app = Application() > app['button1].loquesea() > > en lugar de > > app = Application() > app.widgets.get_widget('button1').loquesea() > > Un saludo > > Lorenzo Gil > > El jue, 21-08-2003 a las 12:48, dvilla en gmx.net escribió: > > Hola: > > > > Cuando ponía el self me daba este error: > > > > ** (app.py:1714): WARNING **: handler for `on_button1_clicked' not callable > > or a tuple > > > > Como me estaba volviendo loco, he empezado a meter cachos de mi programa en > > el iface.py que si que funciona hasta que he encontrado el problema. Era > > culpa de un método__getitem__[1] que tengo definido para extraer widgets del > > árbol'self.widgets'. Por alguna razón que desconozco este método da > > problemas a signal_autoconnect. Alguna idea? > > > > Saludos y muchas gracias. > > > > [1] http://www.russnelson.com/pyglade-tutorial/pyglade-tutorial > > > > El 21 Aug 2003 11:35:12 +0200 > > Lorenzo Gil Sanchez escribió: > > > > > No se exactamente lo que hace el autoconnect intermante pero a mi me > > > funciona con el self, lo has probado? Acabo de volver a probarlo esta > > > vez con tu archivo de glade y funciona. Cunado pulso en el boton esto es > > > la salida que me da: > > > > > > [lgs en i8100 lgs]$ python iface.py > > > hola > > > <__main__.Application instance at 0x824172c> > > > > > > > > > > > > Este es el codigo: > > > > > > import pygtk > > > pygtk.require("2.0") > > > > > > import gtk, gtk.glade > > > > > > class Application: > > > def __init__(self): > > > self.widgets = gtk.glade.XML('iface.glade') > > > self.widgets.signal_autoconnect(self) # <- OJO al self > > > > > > def on_button1_clicked(self, button, event): > > > print self > > > print button > > > print event > > > > > > app = Application() > > > gtk.main() > > > > > > > > > Te lo adjunto por si quieres probarlo tu. > > > > > > Lorenzo > > > > > > > > > El jue, 21-08-2003 a las 11:12, dvilla en gmx.net escribió: > > > > Hola: > > > > > > > > Te mando el .glade pero es muy tonto, es una ventana con un botón. > > > > Lo de pasar la referencia al objeto no parece funcionar. Se supone que > > > > el autoconnect sólo admite diccionarios, no?. Autoconnect compara las > > > > cadenas definidas en el diccionario con los handlers del .glade. > > > > self.__class__.__dict__ es lo mismo que Application.__dict__ pero esos > > > > diccionarios tienen referencias a los métodos como si fuesen estáticos, > > > > es decir, no se especifica ninguna referencia a ningún objeto. > > > > > > > > > > > > El 21 Aug 2003 10:18:05 +0200 > > > > Lorenzo Gil Sanchez escribió: > > > > > > > > > A ver si ahora te he entendido bien: > > > > > > > > > > import pygtk > > > > > pygtk.require("2.0") > > > > > > > > > > import gtk, gtk.glade > > > > > > > > > > class Application: > > > > > def __init__(self): > > > > > self.widgets = gtk.glade.XML('ejemplo.glade') > > > > > self.widgets.signal_autoconnect(self) # <- OJO al self > > > > > > > > > > def on_button1_clicked(self, *args): > > > > > print 'hola' > > > > > print self, args > > > > > > > > > > app = Application() > > > > > gtk.main() > > > > > > > > > > > > > > > creo que eso es lo que quieres > > > > > > > > > > Un saludo > > > > > > > > > > Lorenzo > > > > > > > > > > NOTA: otra vez, mandame el archivo de glade please. > > > > > > > > > > El mié, 20-08-2003 a las 22:20, dvilla en gmx.net escribió: > > > > > > Hola: > > > > > > > > > > > > Soy yo el que no se ha explicado bien. Necesito que el callback sea > > > > > > un método(pero no un método clase), es decir, que no me sirve un > > > > > > método estático. Esto es así porque dentro del método tengo que > > > > > > utilzar atributos del objeto actual. > > > > > > > > > > > > Prueba esto: > > > > > > > > > > > > import pygtk > > > > > > pygtk.require("2.0") > > > > > > > > > > > > import gtk, gtk.glade > > > > > > > > > > > > class Application: > > > > > > def __init__(self): > > > > > > self.widgets = gtk.glade.XML(gladefile) > > > > > > self.widgets.signal_autoconnect(Application.__dict__) > > > > > > > > > > > > def on_button1_clicked(self, *args): > > > > > > print 'hola' > > > > > > print self, args > > > > > > > > > > > > app = Application() > > > > > > gtk.main() > > > > > > > > > > > > Según te he entendido, tu dices que en 'self' viene la referencia a > > > > > > objeto y en'args' el GtkWidget, pues no. Prueba y verás que en > > > > > > 'self' viene el GtkWidget y en 'args' un GdkEvent. > > > > > > > > > > > > Si haces un diccionario a mano, es decir: > > > > > > > > > > > > import pygtk > > > > > > pygtk.require("2.0") > > > > > > > > > > > > import gtk, gtk.glade > > > > > > > > > > > > class Application: > > > > > > def __init__(self): > > > > > > self.widgets = gtk.glade.XML(gladefile) > > > > > > callbacks = {"on_button1_clicked": self.on_button1_clicked} > > > > > > self.widgets.signal_autoconnect(callbacks) > > > > > > > > > > > > def on_button1_clicked(self, *args): > > > > > > print 'hola' > > > > > > print self, args > > > > > > > > > > > > app = Application() > > > > > > gtk.main() > > > > > > > > > > > > Entonces si funciona bien: en 'self' viene la referencia al objeto y > > > > > > en'args' vienen el GtkWidget y el GdkEvent. Pero yo quiero saber si > > > > > > se puede hacer con el signal_autoconnect. > > > > > > > > > > > > Saludos. > > > > > > > > > > > > > > > > > > El Wed, 20 Aug 2003 21:26:33 +0200 > > > > > > Lorenzo Gil Sanchez escribió: > > > > > > > > > > > > > El mi_, 20-08-2003 a las 20:31, dvilla en gmx.net escribi_: > > > > > > > Hola: > > > > > > > > > > > > > > > > Alguien sabe si el signal_autoconnect() de libglade se puede > > > > > > > > utilizar de modo que los callbacks sean m_todos no-de-clase. > > > > > > > > Este ejemplo me funciona: > > > > > > > > > > > > > > > > import pygtk > > > > > > > > pygtk.require("2.0") > > > > > > > > > > > > > > > > import gtk, gtk.glade > > > > > > > > > > > > > > > > class Application: > > > > > > > > def __init__(self): > > > > > > > > self.widgets = gtk.glade.XML(gladefile) > > > > > > > > self.widgets.signal_autoconnect(Application.__dict__) > > > > > > > > > > > > > > > > def on_button1_clicked(widget, event): > > > > > > > > print 'hola' > > > > > > > > > > > > > > > > > > > > > > > > Pero si on_button1_clicked() no es un m_todo de clase, es decir: > > > > > > > > > > > > > > > > def on_button1_clicked(self, widget, event): > > > > > > > > print 'hola' > > > > > > > > > > > > > > > > Entonces el autoconnect no se entera y llama a este m_todo con 2 > > > > > > > > argumentos en lugar de tres. Alguien sabe si se puede hacer? > > > > > > > > > > > > > > > > Veamos, tienes un fallo en lo siguiente: El callback para la > > > > > > > > senial'clicked' [1] es el siguiente > > > > > > > > > > > > > > def callback(button): > > > > > > > pass > > > > > > > > > > > > > > > > > > > > > o si es un metodo de clase > > > > > > > > > > > > > > > > > > > > > def callback(self, button): > > > > > > > pass > > > > > > > > > > > > > > > > > > > > > Por eso en tu ejemplo te funciona el metodo para una clase porque > > > > > > > tienes la suerte de estar dandole 2 argumentos: > > > > > > > > > > > > > > def on_button1_clicked(widget, event): > > > > > > > print hola > > > > > > > > > > > > > > si haces esto > > > > > > > > > > > > > > def on_button1_clicked(widget, event): > > > > > > > print widget, event > > > > > > > > > > > > > > probablemente te des cuenta que tu argumento widget es en realidad > > > > > > > de tipo Application y tu argumento event es de tipo gtk.Button > > > > > > > > > > > > > > Despues de todo este rollo te respondo a tu pregunta: > > > > > > > > > > > > > > import pygtk > > > > > > > pygtk.require('2.0') > > > > > > > import gtk > > > > > > > import gtk.glade > > > > > > > > > > > > > > def on_button1_clicked(button): > > > > > > > print 'hola' > > > > > > > > > > > > > > widgets = gtk.glade.XML(gladefile) > > > > > > > widgets.autoconnect(locals()) > > > > > > > > > > > > > > No se si me he explicado bien > > > > > > > > > > > > > > Lorenzo Gil > > > > > > > > > > > > > > [1] > > > > > > > http://www.moeraki.com/pygtkreference/pygtk2reference/class-gtkbutton.html#signal-gtkbutton--clicked > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > From qualopec en lycos.es Fri Aug 22 07:24:07 2003 From: qualopec en lycos.es (Javi) Date: Fri, 22 Aug 2003 07:24:07 +0200 Subject: boa Message-ID: <3F45A8F7.7040602@lycos.es> Que os parece boa-constrcutor? lo habeis usado? habeis visto algo similar para trabajar con wxpython ? Estoy empezando a usarlo y me parece un entorno bastante rapido, facil y completo. .saludos ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ch3m4 en ch3m4.org Fri Aug 22 09:49:38 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Fri, 22 Aug 2003 09:49:38 +0200 Subject: Problemas instalando win32all en win95 Message-ID: Estoy teniendo problemas al instalar las extensiones win32 en un viejo windwos95. La instalación del python no tiene problemas, pero cuando intento instalar las extensiones me da un error en el fichero "FindDuplicates.py" (que usa el instalador para limpiar). En concreto da error el 'import win32api' como si no pudiera cargar alguna DLL. ¿Álguien ha solucionado algún problema similar? From forodejazz en yahoo.es Fri Aug 22 09:53:47 2003 From: forodejazz en yahoo.es (David Asorey Álvarez) Date: Fri, 22 Aug 2003 07:53:47 -0000 Subject: boa Message-ID: > Que os parece boa-constrcutor? lo habeis usado? Muy bueno. Es un programa estupendo. > habeis visto algo similar para trabajar con wxpython ? Sí, wxGlade. No es un "IDE" como Boa Constructor, sólo te genera el código y luego tú lo editas por tu cuenta para añadirle los manejadores de eventos, etc. Tiene una cosa mejor que Boa: los elementos o "widgets" se posicionan mediante wxSizer, mientras que en Boa tienen que ir en posiciones fijas. Los desarrolladores del Boa Constructor tienen intención de incorporar los wxSizer en próximas versiones. Hay más herramientas para trabajar con wxPython: PythonCard, XRCed, VisualWx, wxDesigner (comercial), DialogBlocks (comercial). > Estoy empezando a usarlo y me parece un entorno > bastante rapido, facil y completo. Totalmente de acuerdo, de hecho lo han "declarado" proyecto del mes en Sourceforge.net Un saludo. -- David Asorey Álvarez forodejazz en yahoo.es http://www.geocities.com/forodejazz/programacion/ ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From qualopec en lycos.es Fri Aug 22 10:22:49 2003 From: qualopec en lycos.es (Javi) Date: Fri, 22 Aug 2003 10:22:49 +0200 Subject: boa In-Reply-To: References: Message-ID: <3F45D2D9.5060307@lycos.es> David Asorey Álvarez wrote: >Tiene una cosa mejor que Boa: los elementos o "widgets" se posicionan >mediante wxSizer, mientras que en Boa tienen que ir en posiciones >fijas. Los desarrolladores del Boa Constructor tienen intención de >incorporar los wxSizer en próximas versiones. > Sí de eso me había dado cuenta, en programilla que he hecho sin IDE he trabajado con Sizers - y la verdad, lo he pasado bastante mal para colocar "mediante código" todos los elementos aunque quizás haya influído también mi desconocimiento de wxPython. Espero que cando incluyan este sistema no tengan los mismos problemas que yo. Algún truco ? ;) From rapto en arrakis.es Fri Aug 22 10:49:01 2003 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Fri, 22 Aug 2003 10:49:01 +0200 Subject: Problemas instalando win32all en win95 In-Reply-To: References: Message-ID: <3F45D8FD.7000508@arrakis.es> Chema Cortés wrote: > Estoy teniendo problemas al instalar las extensiones win32 en un viejo > windwos95. La instalación del python no tiene problemas, pero cuando > intento instalar las extensiones me da un error en el fichero > "FindDuplicates.py" (que usa el instalador para limpiar). En concreto da > error el 'import win32api' como si no pudiera cargar alguna DLL. > ¿Álguien ha solucionado algún problema similar? > > Intenta instalarle el IExplorer, le pega tal meneo al sistema que es probable que te lo convierta en una especie de win98. Pero no sé si existirá nada para win95 todavía. Es de la época de Red Hat 2.0 :-O From jcanto en hispasec.com Fri Aug 22 10:54:23 2003 From: jcanto en hispasec.com (Julio Canto) Date: Fri, 22 Aug 2003 10:54:23 +0200 Subject: Problemas instalando win32all en win95 References: Message-ID: <008a01c3688a$fba44c10$2340870a@anthispa2e67dp> Yo he instalado las extensiones de win32 en un 95 y no ha dado ningun problema :? Quiza es solo que el 95 en si este un poco perjudicado. Un saludo JC > Estoy teniendo problemas al instalar las extensiones win32 en un viejo > windwos95. La instalación del python no tiene problemas, pero cuando > intento instalar las extensiones me da un error en el fichero > "FindDuplicates.py" (que usa el instalador para limpiar). En concreto da > error el 'import win32api' como si no pudiera cargar alguna DLL. > ¿Álguien ha solucionado algún problema similar? From ch3m4 en ch3m4.org Fri Aug 22 12:43:47 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Fri, 22 Aug 2003 12:43:47 +0200 Subject: Problemas instalando win32all en win95 In-Reply-To: <008a01c3688a$fba44c10$2340870a@anthispa2e67dp> References: <008a01c3688a$fba44c10$2340870a@anthispa2e67dp> Message-ID: Julio Canto escribió: > Yo he instalado las extensiones de win32 en un 95 y no ha dado ningun > problema :? Quiza es solo que el 95 en si este un poco perjudicado. > Un saludo Puedo contar algo más. Estoy intentando actualizar a python2.3. Tenía instalado el ActivePython 2.2.2, que previamente he desinstalado. La extensiones win32all no se me instalan ni con python2.3 y con python2.2.3. Si vuelvo a instalar el ActivePython2.2.2 todo vuelve a funcionar. Ahora tengo instalados el ActivePython2.2.2 y el Python2.3+win32all. El pythonwin del ActivePython funciona; en cambio el pythonwin del python2.3 no funciona, no pudiendo importar los módulos win32api ni el win32ui desde el shell del python2.3 Voy a probar a pegarle un "meneo" con actualizando el explorer, como sugiere Marcos :-( From jcanto en hispasec.com Fri Aug 22 13:00:55 2003 From: jcanto en hispasec.com (Julio Canto) Date: Fri, 22 Aug 2003 13:00:55 +0200 Subject: Problemas instalando win32all en win95 References: <008a01c3688a$fba44c10$2340870a@anthispa2e67dp> Message-ID: <011101c3689c$a900e1a0$2340870a@anthispa2e67dp> Puesss yo tengo instalada una Python 2.2.2, y me ha ido de maravilla, como a ti tambien parece irte con esa version. Has comprobado que has metido la versión de extensiones adecuada? Python 2.3 -> win32all-155.exe Python 2.2 -> win32all-154.exe Se que es una tonteria, pero lo mismo ese es el problema :? Un saludo, JC From FBatista en uniFON.com.ar Fri Aug 22 16:17:26 2003 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Fri, 22 Aug 2003 11:17:26 -0300 Subject: boa Message-ID: #- > habeis visto algo similar para trabajar con wxpython ? #- #- Sí, wxGlade. No es un "IDE" como Boa Constructor, sólo te genera el #- código y luego tú lo editas por tu cuenta para añadirle los #- manejadores de eventos, etc. Estaba comenzando a investigar PyGTK. ¿Lo probaron? ¿Ventajas/desventajas contra wxPython? Saludos. . Facundo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ADVERTENCIA La información contenida en este mensaje y cualquier archivo anexo al mismo, son para uso exclusivo del destinatario y pueden contener información confidencial o propietaria, cuya divulgación es sancionada por la ley. Si Ud. No es uno de los destinatarios consignados o la persona responsable de hacer llegar este mensaje a los destinatarios consignados, no está autorizado a divulgar, copiar, distribuir o retener información (o parte de ella) contenida en este mensaje. Por favor notifíquenos respondiendo al remitente, borre el mensaje original y borre las copias (impresas o grabadas en cualquier medio magnético) que pueda haber realizado del mismo. Todas las opiniones contenidas en este mail son propias del autor del mensaje y no necesariamente coinciden con las de Telefónica Comunicaciones Personales S.A. o alguna empresa asociada. Los mensajes electrónicos pueden ser alterados, motivo por el cual Telefónica Comunicaciones Personales S.A. no aceptará ninguna obligación cualquiera sea el resultante de este mensaje. Muchas Gracias. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lgs en sicem.biz Fri Aug 22 17:00:22 2003 From: lgs en sicem.biz (Lorenzo Gil Sanchez) Date: 22 Aug 2003 17:00:22 +0200 Subject: boa In-Reply-To: References: Message-ID: <1061564422.2023.7.camel@i8100> El vie, 22-08-2003 a las 16:17, Batista, Facundo escribió: > #- > habeis visto algo similar para trabajar con wxpython ? > #- > #- Sí, wxGlade. No es un "IDE" como Boa Constructor, sólo te genera el > #- código y luego tú lo editas por tu cuenta para añadirle los > #- manejadores de eventos, etc. > > Estaba comenzando a investigar PyGTK. ¿Lo probaron? > ¿Ventajas/desventajas contra wxPython? > Yo suelo usar PyGTK a diario y es el toolkit que mas me ha gustado de los que he usado (Tkinter y wxPython). Ventajas sobre wxPython: la documentacion es mas completa/abundante, funciona de forma mas parecida en Windows y en Linux, tienes Glade para diseniar las pantallas (no estoy seguro de si existe un wxglade y como funciona), si te centras en Linux tienes mogollon de librerias de Gnome que puedes utilizar, hay un canal de IRC en el que ayudan muchisimo. Desventajas: le falta el Grid que tiene wxWindows, el entorno de desarrollo en Windows es *algo* mas dificil de configurar que el de wxWindows. Un saludo Lorenzo From FBatista en uniFON.com.ar Fri Aug 22 17:17:54 2003 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Fri, 22 Aug 2003 12:17:54 -0300 Subject: boa Message-ID: #- Ventajas sobre wxPython: la documentacion es mas completa/abundante, #- funciona de forma mas parecida en Windows y en Linux, tienes #- Glade para #- diseniar las pantallas (no estoy seguro de si existe un #- wxglade y como #- funciona), si te centras en Linux tienes mogollon de #- librerias de Gnome #- que puedes utilizar, hay un canal de IRC en el que ayudan muchisimo. #- #- Desventajas: le falta el Grid que tiene wxWindows, el entorno de #- desarrollo en Windows es *algo* mas dificil de configurar que el de #- wxWindows. Interesante, muy interesante. Justamente yo quería migrar para tener un "look & feel" más parejo en ambas plataformas. Con respecto a las desventajas, no las entiendo, :(. ¿Qué es el Grid? ¿Por qué es más dificil en Windows, no alcanza con instalar GTK? Saludos. . Facundo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ADVERTENCIA La información contenida en este mensaje y cualquier archivo anexo al mismo, son para uso exclusivo del destinatario y pueden contener información confidencial o propietaria, cuya divulgación es sancionada por la ley. Si Ud. No es uno de los destinatarios consignados o la persona responsable de hacer llegar este mensaje a los destinatarios consignados, no está autorizado a divulgar, copiar, distribuir o retener información (o parte de ella) contenida en este mensaje. Por favor notifíquenos respondiendo al remitente, borre el mensaje original y borre las copias (impresas o grabadas en cualquier medio magnético) que pueda haber realizado del mismo. Todas las opiniones contenidas en este mail son propias del autor del mensaje y no necesariamente coinciden con las de Telefónica Comunicaciones Personales S.A. o alguna empresa asociada. Los mensajes electrónicos pueden ser alterados, motivo por el cual Telefónica Comunicaciones Personales S.A. no aceptará ninguna obligación cualquiera sea el resultante de este mensaje. Muchas Gracias. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lgs en sicem.biz Fri Aug 22 17:26:05 2003 From: lgs en sicem.biz (Lorenzo Gil Sanchez) Date: 22 Aug 2003 17:26:05 +0200 Subject: boa In-Reply-To: References: Message-ID: <1061565965.2023.13.camel@i8100> > Interesante, muy interesante. Justamente yo quería migrar para tener > un "look & feel" más parejo en ambas plataformas. > Cuando digo que funciona de forma mas parecida me refiero no solo a eso, sino a que vas a tener menos problemas de que algo que has programado y funciona en X luego no funcione en Y. > Con respecto a las desventajas, no las entiendo, :(. ¿Qué es el Grid? > ¿Por qué es más dificil en Windows, no alcanza con instalar GTK? > El Grid es un widget del estilo a lo que suele haber en una hoja de calculo. Si has programado en Swing de Java, lo mas parecido es un JTable El algo mas dificil se refiere a que cuando haces el import gtk en tu programa eso te fallara a no ser que tengas el directorio donde has instalado GTK en tu PATH. Es una minucia como puedes comprobar y a lo mejor me he pasado en ponerlo en las desventajas, pero es que no se me ocurrian muchas mas :) Por cierto, otra ventaja: En GTK se pueden hacer temas para cambiar el look de tu aplicacion por completo. Como los skins de Mozilla o Winamp. No creo que wxPython soporte esto pero corregidme si me equivoco. Lorenzo From FBatista en uniFON.com.ar Fri Aug 22 17:37:14 2003 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Fri, 22 Aug 2003 12:37:14 -0300 Subject: boa Message-ID: #- El algo mas dificil se refiere a que cuando haces el import gtk en tu #- programa eso te fallara a no ser que tengas el directorio donde has #- instalado GTK en tu PATH. Es una minucia como puedes comprobar y a lo #- mejor me he pasado en ponerlo en las desventajas, pero es #- que no se me #- ocurrian muchas mas :) Cada vez estoy más convencido en migrar, :) ¡Muchas gracias! . Facundo From lgs en sicem.biz Fri Aug 22 17:39:29 2003 From: lgs en sicem.biz (Lorenzo Gil Sanchez) Date: 22 Aug 2003 17:39:29 +0200 Subject: boa In-Reply-To: References: Message-ID: <1061566768.2023.15.camel@i8100> El vie, 22-08-2003 a las 17:37, Batista, Facundo escribió: > #- El algo mas dificil se refiere a que cuando haces el import gtk en tu > #- programa eso te fallara a no ser que tengas el directorio donde has > #- instalado GTK en tu PATH. Es una minucia como puedes comprobar y a lo > #- mejor me he pasado en ponerlo en las desventajas, pero es > #- que no se me > #- ocurrian muchas mas :) > > Cada vez estoy más convencido en migrar, :) > > ¡Muchas gracias! > Pues ahora te voy a convencer del todo: me quedan dos capitulos para terminar la traduccion del tutorial oficial de PyGTK, la solucion a todos tus problemas :) Cuando lo tenga, que sera en breve, hare un anuncio algo mas oficial en la lista Lorenzo From FBatista en uniFON.com.ar Fri Aug 22 17:51:22 2003 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Fri, 22 Aug 2003 12:51:22 -0300 Subject: boa Message-ID: #- Pues ahora te voy a convencer del todo: me quedan dos capitulos para #- terminar la traduccion del tutorial oficial de PyGTK, la solucion a #- todos tus problemas :) Bueno, con eso no hay ningún problema. Si necesitás ayuda, avisá. Slds. . Facundo From amphora en escomposlinux.org Fri Aug 22 18:41:09 2003 From: amphora en escomposlinux.org (amphora) Date: Fri, 22 Aug 2003 18:41:09 +0200 Subject: boa In-Reply-To: <1061564422.2023.7.camel@i8100> References: <1061564422.2023.7.camel@i8100> Message-ID: <1061570469.3477.5.camel@hamlet.escomposlinux.org> El vie, 22-08-2003 a las 17:00, Lorenzo Gil Sanchez escribió: > > Desventajas: le falta el Grid que tiene wxWindows, el entorno de > desarrollo en Windows es *algo* mas dificil de configurar que el de > wxWindows. Antiguamente existían las gtk-extra y había binding para python. El autor de gtk-extra estuvo mucho tiempo dando la vara para que las incluyesen el en arbol oficial de gtk como un widget propio. Desgraciadamente los desarrolladores de gtk/gnome parecen pensar que no es necesario un widget de este tipo. A mi personalmente me han hecho polvo, porque tenía una aplicación que necesitaba de un widget así (http://julieta.escomposlinux.org/python/). Actualmente estoy considerando otras alternativas, aunque me cuesta dejar gtk, que es lo que medianamente conocía. -- amphora ecolnet ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Esta parte del mensaje está firmada digitalmente URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lgs en sicem.biz Fri Aug 22 18:56:25 2003 From: lgs en sicem.biz (Lorenzo Gil Sanchez) Date: 22 Aug 2003 18:56:25 +0200 Subject: boa In-Reply-To: <1061570469.3477.5.camel@hamlet.escomposlinux.org> References: <1061564422.2023.7.camel@i8100> <1061570469.3477.5.camel@hamlet.escomposlinux.org> Message-ID: <1061571385.2023.25.camel@i8100> > Antiguamente existían las gtk-extra y había binding para python. El > autor de gtk-extra estuvo mucho tiempo dando la vara para que las > incluyesen el en arbol oficial de gtk como un widget propio. Las gtk-extra las conocia pero desgraciadamente no valen para GTK 2, solo para gtk 1.X. > Desgraciadamente los desarrolladores de gtk/gnome parecen pensar que no > es necesario un widget de este tipo. > A mi personalmente me han hecho polvo, porque tenía una aplicación que > necesitaba de un widget así (http://julieta.escomposlinux.org/python/). > > Actualmente estoy considerando otras alternativas, aunque me cuesta > dejar gtk, que es lo que medianamente conocía. Es cierto que la filosofia de GTK es mantenerla lo mas pequenia posible y si quieres mas cosas pues usas las librerias de Gnome, aunque en este caso, ni siquiera en Gnome encontramos algo parecido a un Grid. Esperemos que esto cambien en GTK 2.6 o 3 En cualquier caso el GtkTreeView es un control muy potente y casi permite hacer un Grid desde C. Desde Python es algo mas complicado por razones un tanto oscuras. Lorenzo From dvilla en gmx.net Fri Aug 22 20:22:10 2003 From: dvilla en gmx.net (dvilla en gmx.net) Date: Fri, 22 Aug 2003 20:22:10 +0200 Subject: boa In-Reply-To: <1061566768.2023.15.camel@i8100> References: <1061566768.2023.15.camel@i8100> Message-ID: <20030822202210.61887e9d.dvilla@gmx.net> > Pues ahora te voy a convencer del todo: me quedan dos capitulos para > terminar la traduccion del tutorial oficial de PyGTK, la solucion a > todos tus problemas :) > > Cuando lo tenga, que sera en breve, hare un anuncio algo mas oficial en > la lista > Si lo necesitas, te puedo echar una mano con la traducción del tutorial, tampoco estaría mal traducir un tutorial de PyGlade. Piensas hostearlo en algún sitio como Lucas o similar? Por cierto, libglade es otra gran ventaja de GTK. Yo la he usado en C y la estoy emprezando a usar en Python. Con libglade puedes cargar el interfaz de la aplicación desde un XML(.glade) con lo que no tienes que inicializar las propiedades de los widget, de hecho ni siquiera tienes que conectar explicitamente los callbacks. Con todo esto te queda un código muy pequeñito y otra ventaja es que puedes editar la interfaz de la aplicación (con glade) sin tocar el código fuente. No sé si para wxWindows habrá algo similar, pero yo no lo visto. Saludos. From lgs en sicem.biz Fri Aug 22 21:34:38 2003 From: lgs en sicem.biz (Lorenzo Gil Sanchez) Date: Fri, 22 Aug 2003 21:34:38 +0200 Subject: boa Message-ID: >Si lo necesitas, te puedo echar una mano con la traducci?n del >tutorial, tampoco >estar?a mal traducir un tutorial de PyGlade. Piensas hostearlo en >alg?n sitio >como Lucas o similar? Muchas gracias por el ofrecimiento pero como me queda muy poco es preferible que ya lo termine yo. El hosting aun no lo tengo decidido, si ponerlo en Lucas, en Gnome-Hispano, en la pagina de PyGTK o en la que se esta gestando de Python-es. En lo que si voy a necesitar ayuda es en las revisiones, que probablemente haya metido mas de una vez la pata. Cuando lo cuelgue en algun sitio cuento con vosotros para que me digais los fallos. Un saludo Lorenzo Gil Sanchez ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Sat Aug 23 09:25:14 2003 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Sat, 23 Aug 2003 09:25:14 +0200 Subject: boa In-Reply-To: References: Message-ID: <3F4716D9.7060102@arrakis.es> Lorenzo Gil Sanchez wrote: >>Si lo necesitas, te puedo echar una mano con la traducción del >tutorial, tampoco >>estaría mal traducir un tutorial de PyGlade. Piensas hostearlo en >algún sitio >>como Lucas o similar? >> >> > >Muchas gracias por el ofrecimiento pero como me queda muy poco es preferible que ya lo termine yo. El hosting aun no lo tengo decidido, si ponerlo en Lucas, en Gnome-Hispano, en la pagina de PyGTK o en la que se esta gestando de Python-es. > >En lo que si voy a necesitar ayuda es en las revisiones, que probablemente haya metido mas de una vez la pata. Cuando lo cuelgue en algun sitio cuento con vosotros para que me digais los fallos. > >Un saludo > >Lorenzo Gil Sanchez > > Cuenta conmigo para agarrar el rotulador rojo :-) From forodejazz en yahoo.es Fri Aug 22 10:21:47 2003 From: forodejazz en yahoo.es (David Asorey Álvarez) Date: Fri, 22 Aug 2003 08:21:47 -0000 Subject: Problemas instalando win32all en win95 In-Reply-To: References: Message-ID: Chema Cortés dijo: > Estoy teniendo problemas al instalar las extensiones win32 en un > viejo > windwos95. La instalación del python no tiene problemas, pero cuando > intento instalar las extensiones me da un error en el fichero > "FindDuplicates.py" (que usa el instalador para limpiar). > En concreto da > error el 'import win32api' como si no pudiera cargar alguna DLL. > ¿Álguien ha solucionado algún problema similar? En su día tuve muchos problemas al instalar diverso soft libre en W95. Apache, PHP, Python, Ruby, etc. Se instalaba pero no funcionaba, o se "colgaba". No te voy a decir lo típico de "actualízate a Windows XXXXX", tus razones tendrás para utilizar el 95 ;-) Lo que sí que te recomendaría es que le instalases un Internet Explorer moderno, la versión 5 pa'lante. El IE no sólo instalará el navegador, sino que además actualizará muchas dlls obsoletas. Concretamente hay una, no recuerdo el nombre, relacionada con cosas de sockets y de redes que da muchos problemas si no está actualizada. ¡Suerte! -- David Asorey Álvarez forodejazz en yahoo.es http://www.geocities.com/forodejazz/programacion/ ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From forodejazz en yahoo.es Fri Aug 22 10:35:38 2003 From: forodejazz en yahoo.es (David Asorey Álvarez) Date: Fri, 22 Aug 2003 08:35:38 -0000 Subject: boa In-Reply-To: <3F45D2D9.5060307@lycos.es> References: , Message-ID: > >Tiene una cosa mejor que Boa: los elementos o "widgets" se > posicionan > >mediante wxSizer, mientras que en Boa tienen que ir en posiciones > >fijas. Los desarrolladores del Boa Constructor tienen intención de > >incorporar los wxSizer en próximas versiones. > > > > Sí de eso me había dado cuenta, en programilla que he hecho sin IDE he > trabajado con Sizers - y la verdad, lo he pasado bastante mal para > colocar "mediante código" todos los elementos aunque quizás haya > influído también mi desconocimiento de wxPython. No es tu desconocimiento. Trabajar colocando las cosas "a pelo" es horrible ;-) > Espero que cando > incluyan este sistema > no tengan los mismos problemas que yo. Algún truco ? ;) > Yo lo que hago es la interfaz gráfica con el wxGlade, añadiendo luego con un editor los EVT_* y demás código. (Hay que ponerlos debajo de los comentarios que te genera el wxGlade para que no te lo "machaque" posteriormente). Si tengo dudas con algo, o quiero hacer un diálogo o cualquier cosa y estoy vago para "picarlo" desde cero consultando la documentación, lo hago en el Boa, y luego hago un "CORTA - PEGA" desde el Boa al código que generó wxGlade. Vamos, que no utilizo mucho el Boa :-) Eso sí, en cuanto que le incorporen lo de los Sizer, voy a se su más ardiente defensor y promotor xDDD Saludos. -- David Asorey Álvarez forodejazz en yahoo.es http://www.geocities.com/forodejazz/programacion/ ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From siosss en ono.com Sun Aug 24 01:39:47 2003 From: siosss en ono.com (Sonia) Date: Sat, 23 Aug 2003 18:39:47 -0500 Subject: listas Message-ID: <004501c369cf$d6a9b9e0$c3b3ca51@Sonia> hola! estoy intentando hacer un programa q salio en un examen de python sobre listas , pero es q no entiendo el enunciado. bueno, entiendo lo q quiere q hagamos , pero no entiendo como saca ese resultado, a partir de las listas q dan. os adjunto el enunciado, por si sabes como se hace. por supuesto q no quiero q me hagais el problema, solo quiero q me digais como llega a ese resultado(el ejemplo q da) apartir de esas 3 listas q dan. nada mas si teneis problemas con el adjunto(esta en word, pero como imagen) me lo decis y lo escribiria x aqui! gracias!!! ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From amphora en escomposlinux.org Sun Aug 24 01:07:49 2003 From: amphora en escomposlinux.org (amphora) Date: Sun, 24 Aug 2003 01:07:49 +0200 Subject: Un nuevo sitio para hablar de python Message-ID: <1061680069.7575.6.camel@romeo.escomposlinux.org> Hola a todos. He estado montando estos días un weblog para hablar sobre python. Mas que nada lo he montado como pasatiempo pero quizá pueda llegar a ser algo más que un sitio donde solo yo pongo noticias y artículos ;.P Se pueden añadir noticias, crear libros colaborativos, añadir artículos etc. Probablemente le falten cosas pero que se podrán ir añadiendo si son necesarias. La url es http://www.paizon.org o http://paizon.org -- amphora ecolnet ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Esta parte del mensaje está firmada digitalmente URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From siosss en ono.com Sun Aug 24 09:34:19 2003 From: siosss en ono.com (Sonia) Date: Sun, 24 Aug 2003 02:34:19 -0500 Subject: listas de cadenas Message-ID: <00b701c36a12$211b51e0$c3b3ca51@Sonia> holas! como se inicializa una lista con el formato [cadena, cadena, entero] ?? en el programa principal hago este ejemplo: dist=[] dist.append(['alicante','valencia',166]) dist.append(['castellon','valencia',65]) dist.append(['tarragona','castellon',186]) ruta1=['castellon','valencia','alicante'] ruta2=['castellon','alicante','valencia'] print 'longitud ruta1:' , longitudRuta(ruta1,dist) print 'longitud ruta2:' , longitudRuta(ruta2,dist) y lo q quiero saber es, para hacer una funcion(se trata como veis de q dada una ruta y una dstancia, ver si en l lista dist, existen esos recorridos paa poder calcular el recorido completo(suma de km) en el ejemplo anterior, al ejecutarlo, se escribira por pantalla: longitud ruta1: 231 longitud ruta2: None #pq no estan esos recorridos mi duda es , para hacer la funcion, como inicializo esa lista dist??? las rutas son listas normales, pero lo otro? como lo hago para inicializarlo y poder recorrerlo y eso? gracias!!! ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From siosss en ono.com Sun Aug 24 09:55:46 2003 From: siosss en ono.com (Sonia) Date: Sun, 24 Aug 2003 02:55:46 -0500 Subject: contornos Message-ID: <00cd01c36a15$209e2b40$c3b3ca51@Sonia> hola! segun esto: #1º escribir una funcion q, dado un contorno, indique si #se trata de un contorno cerrado, es decir, si el ultimo #punto coincide con el punto inicial. supongo q la cabecera seria asi: def contorno_cerrado(x,y,mov): se supone q x e y son los ejes y mov es una cadena con los movimientos sucesivos a partir del punto inicial(movimientos q contendran N,S,E,O (ptos cardinales), ej mov='EESSSOOOEE' mi pregunta es si pensais q la idea para averiguar esto es sumar las N (norte) con las S (sur) y las E con las O no? si esto coincide se tratara ya de un contorno cerrado? la otra parte y mas complicada es q dado un contorno, devolver una lista con los vertices del mismo(puntos en los q se produce un cmabio de orientacion) aqui si q no tengo ni idea de como hacerlo. esta claro q cuando en la lista cambie la letra sera uno de los vertices, pero como saco de ahi los puntos? alguna sugerencia? gracias!!! ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From oziko en fusiondementes.com Sun Aug 24 03:12:46 2003 From: oziko en fusiondementes.com (Javier Reyna Padilla) Date: Sat, 23 Aug 2003 20:12:46 -0500 (CDT) Subject: Listas a Diccionarios Message-ID: Hola, he guardado un diccionario en un fichero usando file.write(str(DIC)) po rlo cual lo guarda como lista, lo que quiero es guardar el diccionario en un fichero para despues recuperarlo integro para asignarlo de nuevo a un diccionario. Lo recupero usando file.readlines(), luego uses dict(lista) para convertirlo a diccionario pero me da erro, ya que la lista contiene solo 1 elemento y no varios para ser asignados al diccionario. alguien sabe como puedo hacer esto? guardar un diccionario en un fichero y luego recuperarlo y volver a asignarlo a un diccionario. -- ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jcanto en hispasec.com Sun Aug 24 11:40:01 2003 From: jcanto en hispasec.com (Julio Canto) Date: Sun, 24 Aug 2003 10:40:01 +0100 Subject: Listas a Diccionarios References: Message-ID: <003a01c36a23$b1c2f750$050010ac@vega700> Prueba con pickle, eso es lo que estas buscando. "The pickle module implements a fundamental, but powerful algorithm for serializing and de-serializing a Python object structure. " Tambien podrias hacerte el tema a mano, pero probablemente esto es lo mas sencillo y practico. Un saludo dominguero, JC ----- Original Message ----- From: "Javier Reyna Padilla" To: "La lista de python en castellano" Sent: Sunday, August 24, 2003 2:12 AM Subject: [Python-es] Listas a Diccionarios > > Hola, he guardado un diccionario en un fichero usando file.write(str(DIC)) > po rlo cual lo guarda como lista, lo que quiero es guardar el diccionario > en un fichero para despues recuperarlo integro para asignarlo de nuevo a > un diccionario. Lo recupero usando file.readlines(), luego uses > dict(lista) para convertirlo a diccionario pero me da erro, ya que la > lista contiene solo 1 elemento y no varios para ser asignados al > diccionario. alguien sabe como puedo hacer esto? guardar un diccionario en > un fichero y luego recuperarlo y volver a asignarlo a un diccionario. From rapto en arrakis.es Sun Aug 24 11:06:50 2003 From: rapto en arrakis.es (=?ISO-8859-15?Q?Marcos_S=E1nchez_Provencio?=) Date: Sun, 24 Aug 2003 11:06:50 +0200 Subject: Un nuevo sitio para hablar de python In-Reply-To: <1061680069.7575.6.camel@romeo.escomposlinux.org> References: <1061680069.7575.6.camel@romeo.escomposlinux.org> Message-ID: <3F48802A.6070106@arrakis.es> amphora wrote: >Hola a todos. > >He estado montando estos días un weblog para hablar sobre python. >Mas que nada lo he montado como pasatiempo pero quizá pueda llegar a ser >algo más que un sitio donde solo yo pongo noticias y artículos ;.P > >Se pueden añadir noticias, crear libros colaborativos, añadir artículos >etc. Probablemente le falten cosas pero que se podrán ir añadiendo si >son necesarias. > >La url es http://www.paizon.org o http://paizon.org > > > > > Ah, de momento lo que mola es el nombre :-D ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Sun Aug 24 11:24:22 2003 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Sun, 24 Aug 2003 11:24:22 +0200 Subject: listas de cadenas In-Reply-To: <00b701c36a12$211b51e0$c3b3ca51@Sonia> References: <00b701c36a12$211b51e0$c3b3ca51@Sonia> Message-ID: <3F488446.8030802@arrakis.es> Sonia wrote: > holas! > > como se inicializa una lista con el formato [cadena, cadena, entero] ?? > > en el programa principal hago este ejemplo: > > dist=[] > dist.append(['alicante','valencia',166]) > dist.append(['castellon','valencia',65]) > dist.append(['tarragona','castellon',186]) > ruta1=['castellon','valencia','alicante'] > ruta2=['castellon','alicante','valencia'] > print 'longitud ruta1:' , longitudRuta(ruta1,dist) > print 'longitud ruta2:' , longitudRuta(ruta2,dist) > > y lo q quiero saber es, para hacer una funcion(se trata como veis de q > dada una ruta y una dstancia, ver si en l lista dist, existen esos > recorridos paa poder calcular el recorido completo(suma de km) > > en el ejemplo anterior, al ejecutarlo, se escribira por pantalla: > > longitud ruta1: 231 > longitud ruta2: None #pq no estan esos recorridos > > > mi duda es , para hacer la funcion, como inicializo esa lista dist??? > > las rutas son listas normales, pero lo otro? como lo hago para > inicializarlo y poder recorrerlo y eso? > > gracias!!! > ¿Te lo aclara esto? dist=[] dist.append(['alicante','valencia',166]) dist.append(['castellon','valencia',65]) dist.append(['tarragona','castellon',186]) for elem in dist: print elem print elem[0:2] print elem[2] From siosss en ono.com Sun Aug 24 20:15:45 2003 From: siosss en ono.com (Sonia) Date: Sun, 24 Aug 2003 13:15:45 -0500 Subject: listas de cadenas References: <00b701c36a12$211b51e0$c3b3ca51@Sonia> <3F488446.8030802@arrakis.es> Message-ID: <005001c36a6b$bcb17fe0$c3b3ca51@Sonia> hola! he intentado hacer el programilla, pero algo falla pq ni me compila bien . os lo paso a ver si veis algo raro os adjunto el enunciado completo tb: def longitudRuta(ciudades,tramos): tram=[] #lista con los recorridos de 2 en 2 ciudades rec=[] # lista con las 2 ciudades de cada tramo km=[] # km de cada tramo suma_km=[] #suma de los km de cada recorrido (resultado) for i in range(0,len(ciudades)): tram.append(ciudades[i:i+2] # tram= [['castellon','valencia'],['valencia','alicante']] for elem in range(0,len(tramos)): rec.append(tramos[0:2]) km.append(tramos[2]) #rec=[['alicante','valencia'],['castellon','valencia']] #km=[166,65] for trayecto in tram: for tray in range(0,len(rec)): if tram[trayecto==rec[tray]: suma_km= suma_km +km[tray] else: print 'none' print suma_km #166+65 dist=[] dist.append(['alicante','valencia',166]) dist.append(['castellon','valencia',65]) ruta1=['castellon','valencia','alicante'] print 'longitud ruta1:' , longitudRuta(ruta1,dist) ENUNCIADO: Implementa una funcion denominada longitudRuta q, dada una ruta formada por una lista de nombres de ciudades y otra lista con las distancias entre pares de ciudades, devuelva la longitud total de dicha ruta. La funcion longitudRuta recibe como 1er parametro una lista de cadenas(cada cadena sera el nombre de una ciudad, por lo q tomaremos la lista como una ruta de viaje) y como segundo parametro una lista de tramos. Cada tramo sera, a su vez, una lista con el formato [cadena, cadena, entero] (las dos cadenas son nombres de ciudades, y el entero, la distanciaen km entre ellas). Si la funcion longitudLista no puede calcular la longitud de la ruta debido a q en el segundo parametro falta alguna distancia entre ciudades q es necesaria, entonces debe devolver 'None' , para indicar q la longitud de la ruta no puede calcularse. ejemplo: dist=[] dist.append(['alicante','valencia',166]) dist.append(['castellon','valencia',65]) dist.append(['tarragona','castellon',186]) ruta1=['castellon','valencia','alicante'] ruta2=['castellon','alicante','valencia'] print 'longitud ruta1:' , longitudRuta(ruta1,dist) print 'longitud ruta2:' , longitudRuta(ruta2,dist) al ejecutarlo, se escribira por pantalla: longitud ruta1: 231 longitud ruta2: None * cuando busques la distancia entre 2 cuidades se tienen q comprobar dos posibilidades: si existe ciudad1-ciudad2 y ciudad2-ciudad1 * La segunda ruta no puede calcularse pq en la lista dist del ejemplo no aparece distancia 'castellon'-'alicante' ni 'alicante'-'castellon' ----- Original Message ----- From: Marcos Sánchez Provencio To: La lista de python en castellano Sent: Sunday, August 24, 2003 4:24 AM Subject: Re: [Python-es] listas de cadenas > Sonia wrote: > > > holas! > > > > como se inicializa una lista con el formato [cadena, cadena, entero] ?? > > > > en el programa principal hago este ejemplo: > > > > dist=[] > > dist.append(['alicante','valencia',166]) > > dist.append(['castellon','valencia',65]) > > dist.append(['tarragona','castellon',186]) > > ruta1=['castellon','valencia','alicante'] > > ruta2=['castellon','alicante','valencia'] > > print 'longitud ruta1:' , longitudRuta(ruta1,dist) > > print 'longitud ruta2:' , longitudRuta(ruta2,dist) > > > > y lo q quiero saber es, para hacer una funcion(se trata como veis de q > > dada una ruta y una dstancia, ver si en l lista dist, existen esos > > recorridos paa poder calcular el recorido completo(suma de km) > > > > en el ejemplo anterior, al ejecutarlo, se escribira por pantalla: > > > > longitud ruta1: 231 > > longitud ruta2: None #pq no estan esos recorridos > > > > > > mi duda es , para hacer la funcion, como inicializo esa lista dist??? > > > > las rutas son listas normales, pero lo otro? como lo hago para > > inicializarlo y poder recorrerlo y eso? > > > > gracias!!! > > > > ¿Te lo aclara esto? > dist=[] > dist.append(['alicante','valencia',166]) > dist.append(['castellon','valencia',65]) > dist.append(['tarragona','castellon',186]) > for elem in dist: > print elem > print elem[0:2] > print elem[2] > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From rvr en infoastro.com Sun Aug 24 09:25:49 2003 From: rvr en infoastro.com (Victor R. Ruiz) Date: Sun, 24 Aug 2003 09:25:49 +0200 Subject: Listas a Diccionarios In-Reply-To: References: Message-ID: <200308240925.49340.rvr@infoastro.com> Hola: El Sunday 24 August 2003 03:12, Javier Reyna Padilla tecleó: > diccionario. alguien sabe como puedo hacer esto? guardar un diccionario en > un fichero y luego recuperarlo y volver a asignarlo a un diccionario. Hay un módulo llamado cPickle que te permite guardar cualquier objeto Python y recuperarlo posteriormente. --- import cPickle # Guardar fichero = open('un_fichero.dic', 'w') cPickle.dump(dicc, fichero) fichero.close() # Recuperar fichero = open('un_fichero.dic', 'r') dicc = cPickle.load(fichero) fichero.close() --- Saludetes, -- Víctor R. Ruiz | - Todos estos momentos se perderán http://infoastro.com/rvr | como lágrimas en la lluvia From rapto en arrakis.es Sun Aug 24 15:12:28 2003 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Sun, 24 Aug 2003 15:12:28 +0200 Subject: listas de cadenas In-Reply-To: <005001c36a6b$bcb17fe0$c3b3ca51@Sonia> References: <00b701c36a12$211b51e0$c3b3ca51@Sonia> <3F488446.8030802@arrakis.es> <005001c36a6b$bcb17fe0$c3b3ca51@Sonia> Message-ID: <3F48B9BC.4050300@arrakis.es> Sonia wrote: >hola! >he intentado hacer el programilla, pero algo falla pq ni me compila bien . >os lo paso a ver si veis algo raro > >os adjunto el enunciado completo tb: > > > > >def longitudRuta(ciudades,tramos): > tram=[] #lista con los recorridos de 2 en 2 ciudades > rec=[] # lista con las 2 ciudades de cada tramo > km=[] # km de cada tramo > suma_km=[] #suma de los km de cada recorrido (resultado) > > for i in range(0,len(ciudades)): > tram.append(ciudades[i:i+2] > # tram= [['castellon','valencia'],['valencia','alicante']] > > for elem in range(0,len(tramos)): > rec.append(tramos[0:2]) > km.append(tramos[2]) > #rec=[['alicante','valencia'],['castellon','valencia']] > #km=[166,65] > > for trayecto in tram: > for tray in range(0,len(rec)): > if tram[trayecto==rec[tray]: > suma_km= suma_km +km[tray] > else: > print 'none' > print suma_km #166+65 > > > >dist=[] >dist.append(['alicante','valencia',166]) >dist.append(['castellon','valencia',65]) >ruta1=['castellon','valencia','alicante'] >print 'longitud ruta1:' , longitudRuta(ruta1,dist) > > > >python2.2 -u xxx.py File "xxx.py", line 11 for elem in range(0,len(tramos)): ^ SyntaxError: invalid syntax >Exit code: 256 El error tiene que estar por ahí. Como la línea parece correcta, vuelve atrás, a ver si has cerrado los paréntesis que hayas abierto... From siosss en ono.com Sun Aug 24 22:46:55 2003 From: siosss en ono.com (Sonia) Date: Sun, 24 Aug 2003 15:46:55 -0500 Subject: listas de cadenas References: <00b701c36a12$211b51e0$c3b3ca51@Sonia><3F488446.8030802@arrakis.es> <005001c36a6b$bcb17fe0$c3b3ca51@Sonia> <3F48B9BC.4050300@arrakis.es> Message-ID: <002a01c36a80$db5450c0$c3b3ca51@Sonia> parentesis?? pues si no hay! lo unico q he hecho es tabularlo todo, pero parentesis no hay!. no se pq da ese error pq 2 lineas anteriores justo he hecho lo mismo con otras variables y no pasa nada! ----- Original Message ----- From: Marcos Sánchez Provencio To: La lista de python en castellano Sent: Sunday, August 24, 2003 8:12 AM Subject: Re: [Python-es] listas de cadenas > Sonia wrote: > > >hola! > >he intentado hacer el programilla, pero algo falla pq ni me compila bien . > >os lo paso a ver si veis algo raro > > > >os adjunto el enunciado completo tb: > > > > > > > > > >def longitudRuta(ciudades,tramos): > > tram=[] #lista con los recorridos de 2 en 2 ciudades > > rec=[] # lista con las 2 ciudades de cada tramo > > km=[] # km de cada tramo > > suma_km=[] #suma de los km de cada recorrido (resultado) > > > > for i in range(0,len(ciudades)): > > tram.append(ciudades[i:i+2] > > # tram= [['castellon','valencia'],['valencia','alicante']] > > > > for elem in range(0,len(tramos)): > > rec.append(tramos[0:2]) > > km.append(tramos[2]) > > #rec=[['alicante','valencia'],['castellon','valencia']] > > #km=[166,65] > > > > for trayecto in tram: > > for tray in range(0,len(rec)): > > if tram[trayecto==rec[tray]: > > suma_km= suma_km +km[tray] > > else: > > print 'none' > > print suma_km #166+65 > > > > > > > >dist=[] > >dist.append(['alicante','valencia',166]) > >dist.append(['castellon','valencia',65]) > >ruta1=['castellon','valencia','alicante'] > >print 'longitud ruta1:' , longitudRuta(ruta1,dist) > > > > > > > >python2.2 -u xxx.py > File "xxx.py", line 11 > for elem in range(0,len(tramos)): > ^ > SyntaxError: invalid syntax > >Exit code: 256 > > El error tiene que estar por ahí. Como la línea parece correcta, vuelve > atrás, a ver si has cerrado los paréntesis que hayas abierto... > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Sun Aug 24 16:34:25 2003 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Sun, 24 Aug 2003 16:34:25 +0200 Subject: listas de cadenas In-Reply-To: <002a01c36a80$db5450c0$c3b3ca51@Sonia> References: <00b701c36a12$211b51e0$c3b3ca51@Sonia><3F488446.8030802@arrakis.es> <005001c36a6b$bcb17fe0$c3b3ca51@Sonia> <3F48B9BC.4050300@arrakis.es> <002a01c36a80$db5450c0$c3b3ca51@Sonia> Message-ID: <3F48CCF1.3000805@arrakis.es> tram.append(ciudades[i:i+2] Sí que hay. Sonia wrote: >parentesis?? pues si no hay! lo unico q he hecho es tabularlo todo, pero >parentesis no hay!. >no se pq da ese error pq 2 lineas anteriores justo he hecho lo mismo con >otras variables y no pasa nada! > > >----- Original Message ----- >From: Marcos Sánchez Provencio >To: La lista de python en castellano >Sent: Sunday, August 24, 2003 8:12 AM >Subject: Re: [Python-es] listas de cadenas > > > > >>Sonia wrote: >> >> >> >>>hola! >>>he intentado hacer el programilla, pero algo falla pq ni me compila bien >>> >>> >. > > >>>os lo paso a ver si veis algo raro >>> >>>os adjunto el enunciado completo tb: >>> >>> >>> >>> >>>def longitudRuta(ciudades,tramos): >>> tram=[] #lista con los recorridos de 2 en 2 ciudades >>> rec=[] # lista con las 2 ciudades de cada tramo >>> km=[] # km de cada tramo >>> suma_km=[] #suma de los km de cada recorrido (resultado) >>> >>> for i in range(0,len(ciudades)): >>> tram.append(ciudades[i:i+2] >>> # tram= [['castellon','valencia'],['valencia','alicante']] >>> >>> for elem in range(0,len(tramos)): >>> rec.append(tramos[0:2]) >>> km.append(tramos[2]) >>> #rec=[['alicante','valencia'],['castellon','valencia']] >>> #km=[166,65] >>> >>> for trayecto in tram: >>> for tray in range(0,len(rec)): >>> if tram[trayecto==rec[tray]: >>> suma_km= suma_km +km[tray] >>> else: >>> print 'none' >>> print suma_km #166+65 >>> >>> >>> >>>dist=[] >>>dist.append(['alicante','valencia',166]) >>>dist.append(['castellon','valencia',65]) >>>ruta1=['castellon','valencia','alicante'] >>>print 'longitud ruta1:' , longitudRuta(ruta1,dist) >>> >>> >>> >>> >>> >> >python2.2 -u xxx.py >> File "xxx.py", line 11 >> for elem in range(0,len(tramos)): >> ^ >>SyntaxError: invalid syntax >> >Exit code: 256 >> >>El error tiene que estar por ahí. Como la línea parece correcta, vuelve >>atrás, a ver si has cerrado los paréntesis que hayas abierto... >> >> >>_______________________________________________ >> >> From siosss en ono.com Mon Aug 25 01:30:57 2003 From: siosss en ono.com (Sonia) Date: Sun, 24 Aug 2003 18:30:57 -0500 Subject: cadenas de caracteres Message-ID: <005f01c36a97$c505bf40$c3b3ca51@Sonia> hola! me piden esta funcion, docne yo, en vez de complicarme a ver si el punto (x,y) de inicio es = al punto (x,y) del final coinciden, he pensado, q un contorno sera cerrado si los movimientos Norte son los mismos q los movimientos Sur y si los de E son igual q los de O, y despues q la suma de movimientos de N y S coincida con la de E y O pero no se pq en los 3 ejemplos q compruebo(2 son cerrados y uno abierto, me da en los 3 'contorno cerrado' veis algo raro? los puntos x e y los pongo pq dicen q los ponga, pero yo no los gasto para nada #1º escribir una funcion q, dado un contorno, indique si #se trata de un contorno cerrado, es decir, si el ultimo #punto coincide con el punto inicial. def contorno_cerrado(ptox,ptoy,mov): #mov='EEESSSOOOEE' mov=[] contN=0 contS=0 contE=0 contO=0 for i in range(0,len(mov)): if mov[i]=='E': contE=contE+1 if mov[i]=='O': contO=contO+1 if mov[i]=='N': contN=contN+1 if mov[i]=='S': contS=contS+1 if contE==contO and contN==contS: if contE+contO == contN+contS: print 'Contorno cerrado' else: print 'Contorno abierto' x=3 y=6 movimientos1=['EEESSSOOOOONNNEE'] #cerrado movimientos2=['NNNNNNNEESSSSEESSSOOSSOONN'] #cerrado movimientos3=['NNEEESSSOO'] #abierto contorno_cerrado(x,y,movimientos1) contorno_cerrado(x,y,movimientos2) contorno_cerrado(x,y,movimientos2) ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From larreategi en eibar.org Sun Aug 24 18:45:52 2003 From: larreategi en eibar.org (Mikel Larreategi) Date: Sun, 24 Aug 2003 18:45:52 +0200 Subject: cadenas de caracteres In-Reply-To: <005f01c36a97$c505bf40$c3b3ca51@Sonia> References: <005f01c36a97$c505bf40$c3b3ca51@Sonia> Message-ID: <169791557.20030824184552@eibar.org> 25/08/03-n Sonia-(e)k idatzi du: El lunes, 25 de agosto de 2003 Sonia escribió: > pero no se pq en los 3 ejemplos q compruebo(2 son cerrados y uno abierto, me da en los 3 'contorno cerrado' > veis algo raro? Si, te lo explico un poco mas abajo > los puntos x e y los pongo pq dicen q los ponga, pero yo no los gasto para nada Se me ocurre que los podrias utilizar de esta manera: Si tienes N, sumas 1 a y Si tienes S, restas 1 a y Si tienes E, sumas 1 a x Si tienes O, restas 1 a x Funcionas como si x e y fueran las coordenadas en un plano. Al final con comprobar que las coordenadas iniciales y las conseguidas despues de los movimientos son iguales, lo tendrias resuelto. > #1º escribir una funcion q, dado un contorno, indique si > #se trata de un contorno cerrado, es decir, si el ultimo > #punto coincide con el punto inicial. > def contorno_cerrado(ptox,ptoy,mov): > #mov='EEESSSOOOEE' > mov=[] Si la lista que te dan como parametro la inicializas con una lista vacia no conseguiremos nada ;) > contN=0 > contS=0 > contE=0 > contO=0 > for i in range(0,len(mov)): > if mov[i]=='E': > contE=contE+1 > if mov[i]=='O': > contO=contO+1 > if mov[i]=='N': > contN=contN+1 > if mov[i]=='S': > contS=contS+1 > if contE==contO and contN==contS: > if contE+contO == contN+contS: > print 'Contorno cerrado' > else: > print 'Contorno abierto' > x=3 > y=6 > movimientos1=['EEESSSOOOOONNNEE'] #cerrado > movimientos2=['NNNNNNNEESSSSEESSSOOSSOONN'] #cerrado > movimientos3=['NNEEESSSOO'] #abierto > contorno_cerrado(x,y,movimientos1) > contorno_cerrado(x,y,movimientos2) > contorno_cerrado(x,y,movimientos2) Haces la llamada otra vez con movimientos2 en vez de con movimientos3. Ese copy-paste traicionero ;) Saludos, Mikel Larreategi Estudiante Ingenieria Informatica UPV-EHU ---- http://usuarios.lycos.es/erral PGP Key ID: 0x597B543C Bidaltzen dizkidazun mezuekin arazorik baduzu (zerbitzariak itzultzen baditu, ...) bidali helbide honetara: Si tienes problemas con los mensajes que me mandas (devolucion, ...) envialos a: erral2000 en euskalnet.net Barkatu eragozpenak Perdona las molestias From siosss en ono.com Mon Aug 25 02:01:06 2003 From: siosss en ono.com (Sonia) Date: Sun, 24 Aug 2003 19:01:06 -0500 Subject: cadenas de caracteres References: <005f01c36a97$c505bf40$c3b3ca51@Sonia> <169791557.20030824184552@eibar.org> Message-ID: <00b001c36a9b$fb623ba0$c3b3ca51@Sonia> es esto lo q querias decir? pq tampoco me va! tb me salen todos 'cerrado' #1º escribir una funcion q, dado un contorno, indique si #se trata de un contorno cerrado, es decir, si el ultimo #punto coincide con el punto inicial. def contorno_cerrado(ptox,ptoy,mov): #mov='EEESSSOOOEE' for i in range(0,len(mov)): if mov[i]=='E': ptox=ptox+1 if mov[i]=='O': ptox=ptox-1 if mov[i]=='N': ptoy=ptoy+1 if mov[i]=='S': ptoy=ptoy-1 if ptox == x and ptoy==y: print 'Contorno cerrado' else: print 'Contorno abierto' x=3 y=6 movimientos1=['EEESSSOOOOONNNEE'] #cerrado movimientos2=['NNNNNNNEESSSSEESSSOOSSOONN'] #cerrado movimientos3=['NNEEESSSOO'] #abierto contorno_cerrado(x,y,movimientos1) contorno_cerrado(x,y,movimientos2) contorno_cerrado(x,y,movimientos3) ----- Original Message ----- From: Mikel Larreategi To: La lista de python en castellano Sent: Sunday, August 24, 2003 11:45 AM Subject: Re: [Python-es] cadenas de caracteres > 25/08/03-n Sonia-(e)k idatzi du: > El lunes, 25 de agosto de 2003 Sonia escribió: > > > > pero no se pq en los 3 ejemplos q compruebo(2 son cerrados y uno abierto, me da en los 3 'contorno cerrado' > > veis algo raro? > > Si, te lo explico un poco mas abajo > > > los puntos x e y los pongo pq dicen q los ponga, pero yo no los gasto para nada > > Se me ocurre que los podrias utilizar de esta manera: > Si tienes N, sumas 1 a y > Si tienes S, restas 1 a y > Si tienes E, sumas 1 a x > Si tienes O, restas 1 a x > > Funcionas como si x e y fueran las coordenadas en un plano. > > Al final con comprobar que las coordenadas iniciales y las > conseguidas despues de los movimientos son iguales, lo tendrias > resuelto. > > > > #1º escribir una funcion q, dado un contorno, indique si > > #se trata de un contorno cerrado, es decir, si el ultimo > > #punto coincide con el punto inicial. > > > def contorno_cerrado(ptox,ptoy,mov): > > #mov='EEESSSOOOEE' > > mov=[] > > Si la lista que te dan como parametro la inicializas con una lista > vacia no conseguiremos nada ;) > > > contN=0 > > contS=0 > > contE=0 > > contO=0 > > for i in range(0,len(mov)): > > if mov[i]=='E': > > contE=contE+1 > > if mov[i]=='O': > > contO=contO+1 > > if mov[i]=='N': > > contN=contN+1 > > if mov[i]=='S': > > contS=contS+1 > > > if contE==contO and contN==contS: > > if contE+contO == contN+contS: > > print 'Contorno cerrado' > > else: > > print 'Contorno abierto' > > > x=3 > > y=6 > > > movimientos1=['EEESSSOOOOONNNEE'] #cerrado > > movimientos2=['NNNNNNNEESSSSEESSSOOSSOONN'] #cerrado > > movimientos3=['NNEEESSSOO'] #abierto > > contorno_cerrado(x,y,movimientos1) > > contorno_cerrado(x,y,movimientos2) > > contorno_cerrado(x,y,movimientos2) > > Haces la llamada otra vez con movimientos2 en vez de con > movimientos3. Ese copy-paste traicionero ;) > > Saludos, > > Mikel Larreategi > Estudiante Ingenieria Informatica > UPV-EHU > > ---- > http://usuarios.lycos.es/erral > PGP Key ID: 0x597B543C > Bidaltzen dizkidazun mezuekin arazorik baduzu (zerbitzariak itzultzen baditu, ...) bidali helbide honetara: > Si tienes problemas con los mensajes que me mandas (devolucion, ...) envialos a: > erral2000 en euskalnet.net > > Barkatu eragozpenak > Perdona las molestias > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From larreategi en eibar.org Sun Aug 24 19:06:42 2003 From: larreategi en eibar.org (Mikel Larreategi) Date: Sun, 24 Aug 2003 19:06:42 +0200 Subject: cadenas de caracteres In-Reply-To: <005f01c36a97$c505bf40$c3b3ca51@Sonia> References: <005f01c36a97$c505bf40$c3b3ca51@Sonia> Message-ID: <32042427.20030824190642@eibar.org> Se me ha olvidado antes decirte por que no funciona tu programa :) 25/08/03-n Sonia-(e)k idatzi du: El lunes, 25 de agosto de 2003 Sonia escribió: > #1º escribir una funcion q, dado un contorno, indique si > #se trata de un contorno cerrado, es decir, si el ultimo > #punto coincide con el punto inicial. > def contorno_cerrado(ptox,ptoy,mov): > #mov='EEESSSOOOEE' > mov=[] > contN=0 > contS=0 > contE=0 > contO=0 > for i in range(0,len(mov)): > if mov[i]=='E': > contE=contE+1 > if mov[i]=='O': > contO=contO+1 > if mov[i]=='N': > contN=contN+1 > if mov[i]=='S': > contS=contS+1 > if contE==contO and contN==contS: > if contE+contO == contN+contS: Esta condicion no tiene por que cumplirse, la tienes que quitar para que funcioneyo puedo ir 5 veces hacia el norte y 5 al sur, y no moverme hacia el este y el oeste, y estoy en el mismo sitio que al comienzo. > print 'Contorno cerrado' > else: > print 'Contorno abierto' Aqui te falta un else de la primera condicion, si no son iguales sera un contorno abierto. > x=3 > y=6 > movimientos1=['EEESSSOOOOONNNEE'] #cerrado > movimientos2=['NNNNNNNEESSSSEESSSOOSSOONN'] #cerrado > movimientos3=['NNEEESSSOO'] #abierto El otro problema esta aqui: Lo que tienes en movimientos es una lista con un unico elemento que es una cadena. Si haces print movimientos1[0] conseguimos: EEESSSOOOOONNNEE Se considera la cadena de caracteres como lista de caracteres. Si pones movimientos1='EEESSSOOOOONNNEE' Tu programa funciona. Si movimientos tiene que ser como tu pones, entonces las comprobaciones las tendrias que hacer tal que asi: mov[0][i] Si utilizas esto, en el for tienes que poner esto: for i in range(0,len(mov[0])): > contorno_cerrado(x,y,movimientos1) > contorno_cerrado(x,y,movimientos2) > contorno_cerrado(x,y,movimientos2) Saludos, Mikel Larreategi Estudiante Ingenieria Informatica UPV-EHU http://usuarios.lycos.es/erral PGP Key ID: 0x597B543C From larreategi en eibar.org Sun Aug 24 19:12:28 2003 From: larreategi en eibar.org (Mikel Larreategi) Date: Sun, 24 Aug 2003 19:12:28 +0200 Subject: cadenas de caracteres In-Reply-To: <00b001c36a9b$fb623ba0$c3b3ca51@Sonia> References: <005f01c36a97$c505bf40$c3b3ca51@Sonia> <169791557.20030824184552@eibar.org> <00b001c36a9b$fb623ba0$c3b3ca51@Sonia> Message-ID: <802387995.20030824191228@eibar.org> 25/08/03-n Sonia-(e)k idatzi du: El lunes, 25 de agosto de 2003 Sonia escribió: > es esto lo q querias decir? > pq tampoco me va! > tb me salen todos 'cerrado' > #1º escribir una funcion q, dado un contorno, indique si > #se trata de un contorno cerrado, es decir, si el ultimo > #punto coincide con el punto inicial. > def contorno_cerrado(ptox,ptoy,mov): > #mov='EEESSSOOOEE' > for i in range(0,len(mov)): > if mov[i]=='E': > ptox=ptox+1 > if mov[i]=='O': > ptox=ptox-1 > if mov[i]=='N': > ptoy=ptoy+1 > if mov[i]=='S': > ptoy=ptoy-1 > if ptox == x and ptoy==y: > print 'Contorno cerrado' > else: > print 'Contorno abierto' Te falta al principio poner x = ptox y = ptoy Y haz los cambios sobre x e y, no sobre los parametros > movimientos1=['EEESSSOOOOONNNEE'] #cerrado > movimientos2=['NNNNNNNEESSSSEESSSOOSSOONN'] #cerrado > movimientos3=['NNEEESSSOO'] #abierto > contorno_cerrado(x,y,movimientos1) > contorno_cerrado(x,y,movimientos2) > contorno_cerrado(x,y,movimientos3) El problema que hay aqui ya te lo he comentado en el mail anterior Saludos, Mikel Larreategi Estudiante Ingenieria Informatica UPV-EHU http://usuarios.lycos.es/erral PGP Key ID: 0x597B543C From tjavier en usuarios.retecal.es Sun Aug 24 19:29:45 2003 From: tjavier en usuarios.retecal.es (=?ISO-8859-1?Q?Tom=E1s?= Javier Robles Prado) Date: Sun, 24 Aug 2003 19:29:45 +0200 Subject: Tutorial wxGlade Message-ID: <1061746184.31813.3.camel@cable200a204.usuarios.retecal.es> Hola a todos, Acabo de publicar un tutorial de wxPython y wxGlade. Al final, he decidido haerlo más breve de lo que tenía pensado porque últimamente he andado bastante ocupado :( La url es http://milugar.homeip.net:8080/mi_lugar/trabajos/wxglade-tutorial/ Espero que le sea útil a alguien. Si hay por ahí algún alma caritativa que me convierta un fichero *.fo a pdf se lo agradezco ;) -- Un saludo, Tomás Javier Robles Prado http://milugar.doesntexist.org ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From jmga4 en eresmas.com Sun Aug 24 20:35:33 2003 From: jmga4 en eresmas.com (Jose Gonzalez) Date: Sun, 24 Aug 2003 18:35:33 GMT Subject: Programa python...uno de mus Message-ID: <152672154c2f.154c2f152672@ma29.eresmas.com> > A principios de verano empece a hacer un juego de mus en Python y > wxPython,. No es para jugar en red, aunque se podría añadir,no con > demasiada dificultad. >Me gustaría verlo, me lo puedes pasar? Gracias. No he podido pasartelo, me lo devuelve el servidor, puede ser que tengas la cuenta llena, el programa ocupa 200Kb. De todas maneras te lo puedo pasar mediante de otra manera, IRC o en otra cuenta por ejemplo. -- Jose[jmga4 en eresmas.com] -- ----------------------------------------------------------------------- Guía telefónica QDQ.COM. - La forma más sencilla de encontrar todas las empresas, comercios y profesionales de España. http://www.eresmas.com/banners/promo.html?qdq1 ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: jmga4.vcf Type: text/x-vcard Size: 5 bytes Desc: Card for Jose Gonzalez URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From tjavier en usuarios.retecal.es Sun Aug 24 22:15:53 2003 From: tjavier en usuarios.retecal.es (=?ISO-8859-1?Q?Tom=E1s?= Javier Robles Prado) Date: Sun, 24 Aug 2003 22:15:53 +0200 Subject: Programa python...uno de mus In-Reply-To: <152672154c2f.154c2f152672@ma29.eresmas.com> References: <152672154c2f.154c2f152672@ma29.eresmas.com> Message-ID: <1061756152.31813.7.camel@cable200a204.usuarios.retecal.es> El dom, 24-08-2003 a las 20:35, Jose Gonzalez escribió: > > No he podido pasartelo, me lo devuelve el servidor, puede ser que tengas > la cuenta llena, el programa ocupa 200Kb. > De todas maneras te lo puedo pasar mediante de otra manera, IRC o en > otra cuenta por ejemplo. > Puedes subirlo aquí http://milugar.homeip.net:8080/mi_lugar/python/uploads/ que yo también estoy interesado :) -- Un saludo, Tomás Javier Robles Prado http://milugar.doesntexist.org ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From siosss en ono.com Mon Aug 25 08:11:24 2003 From: siosss en ono.com (Sonia) Date: Mon, 25 Aug 2003 01:11:24 -0500 Subject: cadenas de caracteres References: <005f01c36a97$c505bf40$c3b3ca51@Sonia><169791557.20030824184552@eibar.org> <00b001c36a9b$fb623ba0$c3b3ca51@Sonia> <802387995.20030824191228@eibar.org> Message-ID: <003501c36acf$b685c360$c3b3ca51@Sonia> ok! ese apartado ya esta. ahora tengo q hacer este otro, pero no me sale. creo q es parecido pero como tengo q guardar todos los vertices no se si tengo q poner un monton de variables(xN,yN,xS,yS...) o como hacerlo. la cabecera en principio solo es la cadena, pero es q sino ponia los puntos, tpoco sabia como almacenar anta cosa. dejo mi solucion(mal) #2º escrinir una funcion q, dado un contorno, devuelva #una lista con los vertices del mismo, es decir, con #aquellos puntos en los q se produce un cambio de #orientacion. def vertices(px,py,contorno): lista=[] #lista a devolver x=px y=py for i in range(0,len(contorno)): if contorno[i]=='E': pxE=x+1 print pxE,y if contorno[i]=='O': pxO=x-1 print px0,y if contorno[i]=='N': pyN=y+1 print x,pyN if contorno[i]=='S': pyS=y-1 print x,pyS x=3 y=6 movimientos1='EEESSSOOOOONNNEE' vertices(x,y,movimientos1) ----- Original Message ----- From: Mikel Larreategi To: La lista de python en castellano Sent: Sunday, August 24, 2003 12:12 PM Subject: Re[2]: [Python-es] cadenas de caracteres > 25/08/03-n Sonia-(e)k idatzi du: > El lunes, 25 de agosto de 2003 Sonia escribió: > > > es esto lo q querias decir? > > pq tampoco me va! > > tb me salen todos 'cerrado' > > > #1º escribir una funcion q, dado un contorno, indique si > > #se trata de un contorno cerrado, es decir, si el ultimo > > #punto coincide con el punto inicial. > > > def contorno_cerrado(ptox,ptoy,mov): > > #mov='EEESSSOOOEE' > > > > for i in range(0,len(mov)): > > if mov[i]=='E': > > ptox=ptox+1 > > if mov[i]=='O': > > ptox=ptox-1 > > if mov[i]=='N': > > ptoy=ptoy+1 > > if mov[i]=='S': > > ptoy=ptoy-1 > > > if ptox == x and ptoy==y: > > print 'Contorno cerrado' > > else: > > print 'Contorno abierto' > > Te falta al principio poner > > x = ptox > y = ptoy > > Y haz los cambios sobre x e y, no sobre los parametros > > > > > > movimientos1=['EEESSSOOOOONNNEE'] #cerrado > > movimientos2=['NNNNNNNEESSSSEESSSOOSSOONN'] #cerrado > > movimientos3=['NNEEESSSOO'] #abierto > > contorno_cerrado(x,y,movimientos1) > > contorno_cerrado(x,y,movimientos2) > > contorno_cerrado(x,y,movimientos3) > > El problema que hay aqui ya te lo he comentado en el mail anterior > > > Saludos, > > Mikel Larreategi > Estudiante Ingenieria Informatica > UPV-EHU > > http://usuarios.lycos.es/erral > PGP Key ID: 0x597B543C > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From qualopec en lycos.es Mon Aug 25 10:00:42 2003 From: qualopec en lycos.es (Javi) Date: Mon, 25 Aug 2003 10:00:42 +0200 Subject: COM Message-ID: <3F49C22A.5060809@lycos.es> Estoy intentado trabajar con COM y en mi intento de crear una dll con py2exe no funciona tengo la siguiente clase - viene en los ejemplos de las extensiones win32 -: # testblep.py class HelloWorld: public_methods_ = ['Hello'] _public_attrs_ = ['softspace', 'noCalls'] _readonly_attrs_ = ['noCalls'] _reg_clsid_ = "{57D95BCA-7883-4988-93BB-35C81C2CB026}" _reg_desc_ = "Python Test COM Server" _reg_progid_ = "Python.TestServer" _public_methods_ = ['Hello'] def __init__(self): self.softspace = 1 self.noCalls = 0 def Hello(self, who): self.noCalls = self.noCalls + 1 # insert "softspace" number of spaces return "Hello" + " " * self.softspace + str(who) if __name__=='__main__': import win32com.server.register,sys; win32com.server.register.UseCommandLine(HelloWorld) si ejecuto este script se registra correctamente y funciona bien (lo he testeado con un programilla en vbs) ahora _intento_ crear la dll tengo el build_com.py: #build_com.py: from distutils.core import setup import testblep import py2exe setup(name="testblep.py", scripts=["testblep.HelloWorld"], ) ahora ejecuto lo siguiente: C:\soft\dev_utils>"C:\Archivos de programa\Python23\python" build_com.py py2exe --com-dll y me da un error: Traceback (most recent call last): File "build_com.py", line 7, in ? scripts=["testblep.HelloWorld"], File "C:\Archivos de programa\Python23\lib\distutils\core.py", line 149, in se tup dist.run_commands() File "C:\Archivos de programa\Python23\lib\distutils\dist.py", line 907, in ru n_commands self.run_command(cmd) File "C:\Archivos de programa\Python23\lib\distutils\dist.py", line 927, in ru n_command cmd_obj.run() File "C:\ARCHIV~1\Python23\Lib\site-packages\py2exe\build_exe.py", line 561, i n run mf.import_hook(f) File "C:\ARCHIV~1\Python23\Lib\site-packages\py2exe\tools\modulefinder.py", li ne 127, in import_hook m = self.load_tail(q, tail) File "C:\ARCHIV~1\Python23\Lib\site-packages\py2exe\tools\modulefinder.py", li ne 193, in load_tail raise ImportError, "No module named " + mname ImportError: No module named testblep.HelloWorld # siento que sea tan largo XD From ch3m4 en ch3m4.org Mon Aug 25 13:54:21 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Mon, 25 Aug 2003 13:54:21 +0200 Subject: cadenas de caracteres In-Reply-To: <003501c36acf$b685c360$c3b3ca51@Sonia> References: <005f01c36a97$c505bf40$c3b3ca51@Sonia><169791557.20030824184552@eibar.org> <00b001c36a9b$fb623ba0$c3b3ca51@Sonia> <802387995.20030824191228@eibar.org> <003501c36acf$b685c360$c3b3ca51@Sonia> Message-ID: Sonia escribió: > ok! ese apartado ya esta. ahora tengo q hacer este otro, pero no me sale. > creo q es parecido pero como tengo q guardar todos los vertices no se si > tengo q poner un monton de variables(xN,yN,xS,yS...) o como hacerlo. > la cabecera en principio solo es la cadena, pero es q sino ponia los puntos, > tpoco sabia como almacenar anta cosa. > dejo mi solucion(mal) Almacenar la lista de vértices en una lista de tuplas [(x1,y1),(x2,y2)...(xn,yn)]. Un truco rebuscado, pero bastante habitual en matemáticas, sería pasar el problema al plano de los números complejos. (Si no quieres oir hablar de "números complejos", ignora todO lo que te cuento a continuación). Cada punto se representa como número complejo pos: (x,y) -> x + yj x=pos.real y=pos.imag Cada movimiento se representa como una operación en números complejos: E=-1 O=+1 N=+1j S=-1j Con lo que el movimiento completo se puede ver como una serie de sumas: # EEESSSOOOOONNNEE pos_final=pos_ini+E+E+E+S+S+S+O+O+O+O+O+N+N+N+E+E La lista de vértices se podría almacenar como una lista de números complejos, y la detección "genérica" de un vértice en una secuencia a->b->c se haría evaluando módulos abs(c-a)!=abs(c-b)+abs(b-a) Esta comprobación "genérica" falla por la falta de precisión en el cómputo :-( Limitándonos a los movimiento EONS, la comprobación de vértices sería más simple: c-b!=b-a From ch3m4 en ch3m4.org Mon Aug 25 16:18:20 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Mon, 25 Aug 2003 16:18:20 +0200 Subject: Problemas instalando win32all en win95 (solucionado) In-Reply-To: References: Message-ID: David Asorey Álvarez escribió: > No te voy a decir lo típico de "actualízate a Windows XXXXX", tus > razones tendrás para utilizar el 95 ;-) La razón es tan simple como que ninguna versión de windows superior quiere instalarse en este PC, que es el empleo para pruebas de compatibilidad ya que aún tengo varios equipos similares distribuídos por mi empresa. > Lo que sí que te recomendaría es que le instalases un Internet > Explorer moderno, la versión 5 pa'lante. El IE no sólo instalará el > navegador, sino que además actualizará muchas dlls obsoletas. > Concretamente hay una, no recuerdo el nombre, relacionada con cosas > de sockets y de redes que da muchos problemas si no está actualizada. Supongo que te refieres a la winsocks2.dll Sí, la tengo actualizada. #######################33 Solución: Después de darle vueltas a instalar y desintalar, empezé a sospechar que el problema puede que no fuera de la instalación, si no más bien de que mi win95 corre sobre un pentiumMMX normal. Probé con una versión inferior, la win32all-153, y se instala sin problemas. Sospecho que el problema viene de alguna optimización en la compilación. Comentaré el tema a Mark Hammond (creador de las win32all) a ver qué me puede decir al respecto. From siosss en ono.com Tue Aug 26 00:19:07 2003 From: siosss en ono.com (Sonia) Date: Mon, 25 Aug 2003 17:19:07 -0500 Subject: cadenas de caracteres References: <005f01c36a97$c505bf40$c3b3ca51@Sonia><169791557.20030824184552@eibar.org><00b001c36a9b$fb623ba0$c3b3ca51@Sonia> <802387995.20030824191228@eibar.org><003501c36acf$b685c360$c3b3ca51@Sonia> Message-ID: <000601c36b56$edf93e80$c3b3ca51@Sonia> no hay otra forma de almacenar una lista de este tipo: (6,6) (6,3) (1,3) .... ??? ----- Original Message ----- From: Chema Cortés To: Sent: Monday, August 25, 2003 6:54 AM Subject: [Python-es] Re: cadenas de caracteres > Sonia escribió: > > ok! ese apartado ya esta. ahora tengo q hacer este otro, pero no me sale. > > creo q es parecido pero como tengo q guardar todos los vertices no se si > > tengo q poner un monton de variables(xN,yN,xS,yS...) o como hacerlo. > > la cabecera en principio solo es la cadena, pero es q sino ponia los puntos, > > tpoco sabia como almacenar anta cosa. > > dejo mi solucion(mal) > > Almacenar la lista de vértices en una lista de tuplas > [(x1,y1),(x2,y2)...(xn,yn)]. > > > > Un truco rebuscado, pero bastante habitual en matemáticas, sería pasar > el problema al plano de los números complejos. (Si no quieres oir hablar > de "números complejos", ignora todO lo que te cuento a continuación). > > Cada punto se representa como número complejo > > pos: (x,y) -> x + yj > > x=pos.real > y=pos.imag > > Cada movimiento se representa como una operación en números complejos: > > E=-1 > O=+1 > N=+1j > S=-1j > > Con lo que el movimiento completo se puede ver como una serie de sumas: > > # EEESSSOOOOONNNEE > pos_final=pos_ini+E+E+E+S+S+S+O+O+O+O+O+N+N+N+E+E > > La lista de vértices se podría almacenar como una lista de números > complejos, y la detección "genérica" de un vértice en una secuencia > a->b->c se haría evaluando módulos > > abs(c-a)!=abs(c-b)+abs(b-a) > > Esta comprobación "genérica" falla por la falta de precisión en el > cómputo :-( > > Limitándonos a los movimiento EONS, la comprobación de vértices sería > más simple: > > c-b!=b-a > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From ch3m4 en ch3m4.org Mon Aug 25 17:50:46 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Mon, 25 Aug 2003 17:50:46 +0200 Subject: cadenas de caracteres In-Reply-To: <000601c36b56$edf93e80$c3b3ca51@Sonia> References: <005f01c36a97$c505bf40$c3b3ca51@Sonia><169791557.20030824184552@eibar.org><00b001c36a9b$fb623ba0$c3b3ca51@Sonia> <802387995.20030824191228@eibar.org><003501c36acf$b685c360$c3b3ca51@Sonia> <000601c36b56$edf93e80$c3b3ca51@Sonia> Message-ID: Sonia escribió: > no hay otra forma de almacenar una lista de este tipo: > > (6,6) (6,3) (1,3) .... ??? Formas habrá muchas, pero la mas apropiada es como una lista de tuplas. ¿Qué problema ves en ello? Cada punto es una tupla (a,b), y la lista la construyes con el .append() posiciones.append( (a,b) ) From rapto en arrakis.es Mon Aug 25 18:16:28 2003 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Mon, 25 Aug 2003 18:16:28 +0200 Subject: Novedades 2.3 Message-ID: <3F4A365C.5080000@arrakis.es> Gracias a César Cárdenas Desales, ya tenemos la traducción al castellano de las novedades de python2.3 pdf y html en: http://sourceforge.net/project/showfiles.php?group_id=9845&release_id=180131 fuentes en: http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/pyspanishdoc/Doc/Doc/v2.3/whatsnew23.tex Hala From luigli en yahoo.es Tue Aug 26 08:52:00 2003 From: luigli en yahoo.es (=?iso-8859-1?q?Luis=20Iglesias?=) Date: Tue, 26 Aug 2003 08:52:00 +0200 (CEST) Subject: =?iso-8859-1?q?Asistentes_para_dise=F1ar_GUIs?= In-Reply-To: References: Message-ID: <20030826065200.68523.qmail@web80506.mail.yahoo.com> Querría probar mi primera aplicación con entorno gráfico en Python. He leido comparativas entre Tkinter, wxWindows, GTK ..., pero un factor que también me ayudaría a decidirme sería los diseñadores disponibles de ventanas. Sólo he probado wxGlade pero no me gusta que el diseño se almacene en un fichero independiente con la opción posterior de generar el código Python, porque entiendo que si se hacen modificaciones posteriores de diseño machacará el código añadido por mi anteriormente (no lo he probado, a lo mejor estoy equivocado). Querría saber de algún diseñador de GUIs que trabaje directamente con los archivos .py al que no le moleste el código que se pueda ir insertando "a pelo". En principio me da igual que sea para Tkinter, wxWindows o GTK. Gracias (y espero haberme explicado) ___________________________________________________ Yahoo! Messenger - Nueva versión GRATIS Super Webcam, voz, caritas animadas, y más... http://messenger.yahoo.es From rapto en arrakis.es Tue Aug 26 10:28:25 2003 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Tue, 26 Aug 2003 10:28:25 +0200 Subject: [Fwd: [socios-anuncios] Cierra tu sitio el 27-A (protesta contra la directiva de patentes software)]] Message-ID: <3F4B1A29.50805@arrakis.es> ¿Os parece adecuado cerrar la web de pyspanishdoc.sourceforge.net? Si no hay nadie en contra con argumentos de peso, la cerraré a mediodía. ¿Os parece adecuado cerrar la web de aditel.org (a los de aditel, claro)? ------------ próxima parte ------------ An embedded message was scrubbed... From: Roberto Santos Subject: [socios-anuncios] Cierra tu sitio el 27-A (protesta contra la directiva de patentes software)] Date: 25 Aug 2003 15:00:30 +0000 Size: 5823 URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From dvilla en gmx.net Tue Aug 26 10:39:50 2003 From: dvilla en gmx.net (dvilla en gmx.net) Date: Tue, 26 Aug 2003 10:39:50 +0200 Subject: Asistentes para =?ISO-8859-1?Q?dise=F1ar?= GUIs In-Reply-To: <20030826065200.68523.qmail@web80506.mail.yahoo.com> References: <20030826065200.68523.qmail@web80506.mail.yahoo.com> Message-ID: <20030826103950.5889b50b.dvilla@gmx.net> Con glade y en C no suele haber problemas de ese tipo cuando regeneras el proyecto, supongo que tampoco con Python. De todos modos, yo creo que es mejor utilizar libglade. Con libglade usas glade para diseñar el GUI pero no generas ningún tipo de código, es una GUI independiente del lenguaje especificada en XML. Después, desde tu código C, C++, Python o lo que sea cargas la interfaz haciendo tú todo el código (aunque muy simple) y no pasará absolutamente nada cuando cambies el interfaz. No sé si me explico bien. Hazle el tutorial de PyGlade y lo compruebas por ti mismo. http://www.russnelson.com/pyglade-tutorial/pyglade-tutorial Saludos. El Tue, 26 Aug 2003 08:52:00 +0200 (CEST) Luis Iglesias escribió: > Querría probar mi primera aplicación con entorno gráfico en Python. He > leido comparativas entre Tkinter, wxWindows, GTK ..., pero un factor > que también me ayudaría a decidirme sería los diseñadores disponibles > de ventanas. Sólo he probado wxGlade pero no me gusta que el diseño se > almacene en un fichero independiente con la opción posterior de generar > el código Python, porque entiendo que si se hacen modificaciones > posteriores de diseño machacará el código añadido por mi anteriormente > (no lo he probado, a lo mejor estoy equivocado). Querría saber de algún > diseñador de GUIs que trabaje directamente con los archivos .py al que > no le moleste el código que se pueda ir insertando "a pelo". > En principio me da igual que sea para Tkinter, wxWindows o GTK. > > Gracias (y espero haberme explicado) > > ___________________________________________________ > Yahoo! Messenger - Nueva versión GRATIS > Super Webcam, voz, caritas animadas, y más... > http://messenger.yahoo.es > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es > From ch3m4 en ch3m4.org Tue Aug 26 11:55:55 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Tue, 26 Aug 2003 11:55:55 +0200 Subject: [OT] Re: [Fwd: [socios-anuncios] Cierra tu sitio el 27-A (protesta contra la directiva de patentes software)]] In-Reply-To: <3F4B1A29.50805@arrakis.es> References: <3F4B1A29.50805@arrakis.es> Message-ID: Marcos Sánchez Provencio escribió: > ¿Os parece adecuado cerrar la web de pyspanishdoc.sourceforge.net? Si no > hay nadie en contra con argumentos de peso, la cerraré a mediodía. Por mi parte de acuerdo, aunque te aviso que no podrás acceder hoy a Sourceforge. Se les ha cascado un RAID, y no dan acceso ssh. Esperemos que lo arreglen hoy. Yo también estoy esperando para cerrar las webs que tengo por allí. From ch3m4 en ch3m4.org Tue Aug 26 12:26:39 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Tue, 26 Aug 2003 12:26:39 +0200 Subject: Asistentes para =?iso-8859-1?q?dise=F1ar_GUIs?= In-Reply-To: <20030826065200.68523.qmail@web80506.mail.yahoo.com> References: <20030826065200.68523.qmail@web80506.mail.yahoo.com> Message-ID: Luis Iglesias escribió: > Querría probar mi primera aplicación con entorno gráfico en Python. He > leido comparativas entre Tkinter, wxWindows, GTK ..., pero un factor > que también me ayudaría a decidirme sería los diseñadores disponibles > de ventanas. Sólo he probado wxGlade pero no me gusta que el diseño se > almacene en un fichero independiente con la opción posterior de generar > el código Python, porque entiendo que si se hacen modificaciones > posteriores de diseño machacará el código añadido por mi anteriormente > (no lo he probado, a lo mejor estoy equivocado). Querría saber de algún > diseñador de GUIs que trabaje directamente con los archivos .py al que > no le moleste el código que se pueda ir insertando "a pelo". > En principio me da igual que sea para Tkinter, wxWindows o GTK. Ya que os ponéis a comparar, ¿alguién puede decir algo sobre qtdesigner?. Cuando el Gideon (KDevelop3) esté completo, la programación en PyQt/PyKDE para Linux parece que cogerá mucho impulso. Para windows, con el cambio de la licencia de Qt, puede que también se use más, aunque lo dudo mucho. Sobre Tkinter, hay un editor de GUIs llamado SpecTcl (http://spectcl.sourceforge.net/) que genera código python. Nada comparable a los demás que estamos tratando. Sobre lo de generar código python, de mi experiencia con otros sistemas en C++ es que es importante que este código esté bien orientado a objetos. En lugar de modificar directamente el código autogenerado, la técnica consiste en crear clases derivadas basada en él. De este modo se puede independizar el código automático del añadido. Desconozco si alguno de los diseñadores de GUIs de los que habláis lo puede hacer así. El SpecTcl sí que genera código de esta forma, de modo que es fácil modificar el diseño sin tener que cambiar el código añadido. From zoso en demiurgo.org Tue Aug 26 17:11:10 2003 From: zoso en demiurgo.org (Esteban Manchado =?iso-8859-1?Q?Vel=E1zquez?=) Date: Tue, 26 Aug 2003 16:11:10 +0100 Subject: [Fwd: [socios-anuncios] Cierra tu sitio el 27-A (protesta contra la directiva de patentes software)]] In-Reply-To: <3F4B1A29.50805@arrakis.es> References: <3F4B1A29.50805@arrakis.es> Message-ID: <20030826151110.GF1161@demiurgo.org> On Tue, Aug 26, 2003 at 10:28:25AM +0200, Marcos Sánchez Provencio wrote: > ¿Os parece adecuado cerrar la web de pyspanishdoc.sourceforge.net? Si no > hay nadie en contra con argumentos de peso, la cerraré a mediodía. > > ¿Os parece adecuado cerrar la web de aditel.org (a los de aditel, claro)? Completamente de acuerdo, claro. ¡Cierren todas las webs! -- Esteban Manchado Velázquez (con el gorro de ProInnova) http://www.demiurgo.org (cerrada) NO SOFTWARE PATENTS IN EUROPE! - EUROLINUX.ORG - PROINNOVA.HISPALINUX.ES Join Amnesty International - http://www.amnesty.org/actnow ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: no disponible Type: application/pgp-signature Size: 189 bytes Desc: no disponible URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From bernard_24_ en hotmail.com Tue Aug 26 18:08:53 2003 From: bernard_24_ en hotmail.com (bernard romera) Date: Tue, 26 Aug 2003 16:08:53 +0000 Subject: Problemas usando el PythonG para hacer un jueguecillo Message-ID: Se me ocurrió hacer una sencilla version del juego tron -ese q controlas una raya y tienes que intentar no chocar con las otras ni con la tuya misma- con el PythonG. Para detectar en cada punto si se ha colisionado con una raya creé dos listas :recorridox y recorridoy, en las que se iba almacenando cada punto (x e y) en que la raya cambiaba de sentido. Así se comprobaba si cada nuevo punto estaba entre dos de esos puntos, pero entonces al hacerse la lista cada vez más grande, el juego se iba ralentizando. Depués quité esto y probé a crear una matriz que representase todos los puntos de la pantalla. Todos tenían un valor inicial de 0. Al pasar la raya sobre un punto cambiaba el valor de 0 a 1. Si el valor es 1 la raya habría colisionado. Con esto supuse que el juego se ralentizaría mucho menos pero no es así. ¿Alguna otra idea?, ¿tal vez hay una mejor manera de hacer esto que con la librería de PythonG? Espero haberme expresado bien y gracias por adelantado _________________________________________________________________ Localiza y ponte en contacto con tus antiguos compañeros de clase en MSN Compañeros. http://mipasado.msn.es/ From borillo en aditel.org Tue Aug 26 18:59:40 2003 From: borillo en aditel.org (=?ISO-8859-1?Q?Ricardo_Borillo_Dom=E9nech?=) Date: Tue, 26 Aug 2003 18:59:40 +0200 (CEST) Subject: Tutorial wxGlade .FO Message-ID: Hola Tomás !! Pasame el .FO del tutorial y yo te lo paso a PDF ... Salut, Ricardo From borillo en aditel.org Tue Aug 26 19:42:08 2003 From: borillo en aditel.org (=?ISO-8859-1?Q?Ricardo_Borillo_Dom=E9nech?=) Date: Tue, 26 Aug 2003 19:42:08 +0200 (CEST) Subject: Glade Win32 Message-ID: Hola a todos !! Estoy haciendo unas pruebas en Win32 con PyGTK y Glade, y me han surgido una duda. He desargado el WinGlade de http://wingtk.sf.net, he diseñado un interfaz y a la hora de generar el código para el interfaz he visto que hay un montón de lenguajes soportados (c, c++, ada, perl, eiffel) pero no PYTHON!!! He encontrado un script en python (se llama GLC) que se supone que pilla un fichero XML de Glade y te genera el codigo python asociado. El caso es que esta opción tampoco me funciona :( Hay alguna opción recomendable en estos casos para la generación de código python desde un proyecto realizado en Glade? Por cierto, en anteriores mensajes, alguien comentó que estaba terminando un tutorial de PyGTK en castellano ... como va ?? :) Salut i gracias, Ricardo From rapto en arrakis.es Tue Aug 26 19:57:54 2003 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Tue, 26 Aug 2003 19:57:54 +0200 Subject: Glade Win32 In-Reply-To: References: Message-ID: <3F4B9FA2.8040208@arrakis.es> Hablando de memoria, no hace falta generar código, vale con usar el pyglade y abrir el xml que genera el glade. Como siempre con python, es demasiado sencillo para que se le ocurra a uno a la primera. http://www.russnelson.com/pyglade-tutorial/ Ricardo Borillo Doménech wrote: >Hola a todos !! > >Estoy haciendo unas pruebas en Win32 con PyGTK y Glade, y me han surgido >una duda. > >He desargado el WinGlade de http://wingtk.sf.net, he diseñado un interfaz >y a la hora de generar el código para el interfaz he visto que hay un >montón de lenguajes soportados (c, c++, ada, perl, eiffel) pero no >PYTHON!!! > >He encontrado un script en python (se llama GLC) que se supone que pilla >un fichero XML de Glade y te genera el codigo python asociado. El caso es >que esta opción tampoco me funciona :( > >Hay alguna opción recomendable en estos casos para la generación de código >python desde un proyecto realizado en Glade? > >Por cierto, en anteriores mensajes, alguien comentó que estaba terminando >un tutorial de PyGTK en castellano ... como va ?? :) > >Salut i gracias, > Ricardo > > > From diazjoseantonio en hotmail.com Wed Aug 27 15:32:33 2003 From: diazjoseantonio en hotmail.com (diazjoseantonio en hotmail.com) Date: Wed, 27 Aug 2003 10:32:33 -0300 Subject: Controles enlazados a datos References: <3F4B9FA2.8040208@arrakis.es> Message-ID: Existe alguna herramienta que me permita al igual que en VB utilizar controles enlazados a datos y que con minima programación se logre algún manejo de los mismos Ej: DbGrid ??. Existe documentación al respecto ??. Que otras alternativas hay ?? Saludos From FBatista en uniFON.com.ar Wed Aug 27 16:33:51 2003 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Wed, 27 Aug 2003 11:33:51 -0300 Subject: Controles enlazados a datos Message-ID: #- Existe alguna herramienta que me permita al igual que en VB utilizar #- controles enlazados a datos y que con minima programación se #- logre algún #- manejo de los mismos Ej: DbGrid ??. Existe documentación al #- respecto ??. Que #- otras alternativas hay ?? Realmente no conozco VB. Quizás si explicás mejor a que te referís con "controles enlazados a datos" te pueda ayudar. Saludos. . Facundo From clp en opencanarias.com Wed Aug 27 18:44:30 2003 From: clp en opencanarias.com (Carlos Lopez Perez) Date: Wed, 27 Aug 2003 17:44:30 +0100 Subject: Instalar python y wxpython In-Reply-To: References: Message-ID: <1062002669.3177.11.camel@IMAGINE> Hola Soy un usuario típico de windows Hasta hace poco me movía bastante bien en python y en windows (win32, wxPython, py2exe, sqlite, etc..). Ahora me he pasado completamente a linux. Estoy intentando acostumbrarme y todavía no lo he logrado. Estoy con RedHat 9.0 + Ximian2 - Instalación de python: Me bajo el 2.3.tgz los descomprimo, compilio e instalo: tar -zxvf Python... ./configure make su make install OK me va bien - Ahora quiero instalar las wxPython ¿Tengo que instalar el wxWindows primero? Yo lo hice por si acaso y utilicé el gtk2 con unicode. Todo funcionó bien. Parecido a la compilación de los fuentes de python pero sin olvidarse de ejecutar el ldconfig. A la hora de compilar las wxPython.tgz (los fuentes con GTK) no me da ningún problema. Posteriormente al instalarlo python setup build install (gtk ...) me casca por la OpenGL Intenté instalar y compilar Mesa3D pero no lo logré. También lo he intentado con PyOpenGL pero nada. No se como instalar las OpenGL en python. En windows es opcional el uso de OpenGL. ¿Hay problemas con las GTK2? ¿Alguien ha tenido los mismos problemas que yo? ¿Cómo instalo las OpenGL en Linux? Gracias anticipadas por su colaboración Salu2 de clp ;) PD: Los paquetes exactos que he utilizado son los siguientes: Python: Python-2.3.tgz python-doc-html-2.3.tgz wxWindow: wxGTK-2.4.1.tar.gz wxPython: wxPythonDemo-2.4.1.2.tar.gz wxPythonDocs-2.4.1.2.tar.gz wxPythonSrc-2.4.1.2.tar.gz ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From dmoya en 4c.ucc.ie Wed Aug 27 19:36:52 2003 From: dmoya en 4c.ucc.ie (Diego Moya) Date: Wed, 27 Aug 2003 18:36:52 +0100 Subject: Problemas usando el PythonG para hacer un jueguecillo In-Reply-To: References: Message-ID: <200308271836.52413.dmoya@4c.ucc.ie> On Tuesday 26 August 2003 17:08, bernard romera wrote: > Se me ocurrió hacer una sencilla version del juego tron -ese q controlas > una raya y tienes que intentar no chocar con las otras ni con la tuya > misma- con el PythonG. 8-) ¿Tienes el código en alguna parte? Suele ser buena idea publicarlo tan pronto tengas algo escrito, aunque esté incompleto. > Depués quité esto y probé a crear una matriz que representase todos los > puntos de la pantalla. Todos tenían un valor inicial de 0. Al pasar la raya > sobre un punto cambiaba el valor de 0 a 1. Si el valor es 1 la raya habría > colisionado. Con esto supuse que el juego se ralentizaría mucho menos pero > no es así. Esa sería mi primera sugerencia, pero yo lo habría hecho directamente usando la propia información de la pantalla como matriz. La librería gráfica debería poder hacer esta lectura rápidamente. No se si en tu librería hay alguna función para leer el color de un punto, sin embargo. > Para detectar en cada punto si se ha colisionado con una raya creé dos > listas :recorridox y recorridoy, en las que se iba almacenando cada punto > (x e y) en que la raya cambiaba de sentido. Así se comprobaba si cada nuevo > punto estaba entre dos de esos puntos, pero entonces al hacerse la lista > cada vez más grande, el juego se iba ralentizando. Una técnica que suelen usar los juegos 3D para ser rápidos es el particionamiento del espacio en sectores. Cada sector almacena sólo la información de los objetos que contiene, y las comprobaciones sobre un objeto se hacen sólo respecto al sector en que se encuentra actualmente. Si no te funciona lo de leer directamente la matriz gráfica que dije antes, intenta adaptar esta técnica a 2D usando sectores rectangulares y almacenando los cambios de dirección que se produzcan en su interior. > ¿Alguna otra idea?, ¿tal vez hay una mejor manera de hacer esto que con la > librería de PythonG? > Generalmente no es cuestión de la herramienta que utilices, sino de que el algoritmo sea el más adecuado! ;-) -- Diego From larreategi en eibar.org Wed Aug 27 20:20:23 2003 From: larreategi en eibar.org (Mikel Larreategi) Date: Wed, 27 Aug 2003 20:20:23 +0200 Subject: py2exe y re Message-ID: <3413712905.20030827202023@eibar.org> Hola: Estoy haciendo una pequeña utilidad que coja determinados datos de un archivo de texto mediante expresiones regulares y luego los inserte en una base de datos. Las pruebas que hacia utilizando directamente pythonwin (bien escribiendo directamente en el interprente, bien con un script) funcionaban bien. He hecho la prueba desde la linea de comandos llamando al script y me decia que el modulo 're' no tiene la funcion 'compile'. Este es el error que me da: Traceback (most recent call last): File "figaro.py", line 43, in ? zerrenda = aurkitu(adie,testua) File "figaro.py", line 8, in aurkitu p = re.compile(adierazpena) AttributeError: 'module' object has no attribute 'compile' El correspondiente 'import re' esta puesto. He estado mirando un poco y he visto que el archivo re.py de la distribucion de python, hace 'import sre', asi que en vez de 'import re' y 're.compile(...)' he puesto 'import sre' y 'sre.compile(...)' y todo ha funcionado bien. Posteriormete he ido a generar el archivo .exe utilizando py2exe para pasarselo a un amigo para que lo probara y al hacer 'python setup.py py2exe' me da el siguiente error: Traceback (most recent call last): File "setup.py", line 2, in ? from distutils.core import setup File "C:\PYTHON23\lib\distutils\core.py", line 18, in ? from distutils.util import grok_environment_error File "C:\PYTHON23\lib\distutils\util.py", line 212, in ? _wordchars_re = re.compile(r'[^\\\'\"%s ]*' % string.whitespace) AttributeError: 'module' object has no attribute 'compile' Otra vez el re!!! En mi utilidad no me cuesta cambiar el 're' a 'sre' pero no voy a andar cambiando los archivos de la distribucion. Sabeis donde esta el fallo o sabeis si existe algun error con el modulo 're' ? Utilizo Python 2.3 en Windows 98SE Saludos, Mikel Larreategi Estudiante Ingenieria Informatica UPV-EHU http://usuarios.lycos.es/erral PGP Key ID: 0x597B543C ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From falted en openlc.org Wed Aug 27 20:46:25 2003 From: falted en openlc.org (Francesc Alted) Date: Wed, 27 Aug 2003 20:46:25 +0200 Subject: py2exe y re In-Reply-To: <3413712905.20030827202023@eibar.org> References: <3413712905.20030827202023@eibar.org> Message-ID: <200308272046.25977.falted@openlc.org> Pues a mi parece que el modulo "re" me funciona bien: $ python Python 2.3 (#1, Aug 27 2003, 10:39:25) [GCC 3.3.2 20030812 (Debian prerelease)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import re [21601 refs] >>> re.compile [21722 refs] >>> $ Puede que tengas definida una variable con ese nombre? A Dimecres 27 Agost 2003 20:20, Mikel Larreategi va escriure: > Hola: > > Estoy haciendo una pequeña utilidad que coja determinados datos de un > archivo de texto mediante expresiones regulares y luego los inserte en > una base de datos. > > Las pruebas que hacia utilizando directamente pythonwin (bien > escribiendo directamente en el interprente, bien con un script) > funcionaban bien. He hecho la prueba desde la linea de comandos > llamando al script y me decia que el modulo 're' no tiene la funcion > 'compile'. Este es el error que me da: > > Traceback (most recent call last): > File "figaro.py", line 43, in ? > zerrenda = aurkitu(adie,testua) > File "figaro.py", line 8, in aurkitu > p = re.compile(adierazpena) > AttributeError: 'module' object has no attribute 'compile' > > El correspondiente 'import re' esta puesto. > > He estado mirando un poco y he visto que el archivo re.py de la > distribucion de python, hace 'import sre', asi que en vez de 'import > re' y 're.compile(...)' he puesto 'import sre' y 'sre.compile(...)' y > todo ha funcionado bien. > > Posteriormete he ido a generar el archivo .exe utilizando py2exe para > pasarselo a un amigo para que lo probara y al hacer 'python setup.py > py2exe' me da el siguiente error: > > Traceback (most recent call last): > File "setup.py", line 2, in ? > from distutils.core import setup > File "C:\PYTHON23\lib\distutils\core.py", line 18, in ? > from distutils.util import grok_environment_error > File "C:\PYTHON23\lib\distutils\util.py", line 212, in ? > _wordchars_re = re.compile(r'[^\\\'\"%s ]*' % string.whitespace) > AttributeError: 'module' object has no attribute 'compile' > > Otra vez el re!!! > > En mi utilidad no me cuesta cambiar el 're' a 'sre' pero no voy a > andar cambiando los archivos de la distribucion. > > Sabeis donde esta el fallo o sabeis si existe algun error con el > modulo 're' ? > > Utilizo Python 2.3 en Windows 98SE > > Saludos, > > Mikel Larreategi > Estudiante Ingenieria Informatica > UPV-EHU > > http://usuarios.lycos.es/erral > PGP Key ID: 0x597B543C -- Francesc Alted ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From susi.toci en nodo50.org Wed Aug 27 21:11:13 2003 From: susi.toci en nodo50.org (Susana y David) Date: Wed, 27 Aug 2003 21:11:13 +0200 Subject: Nueva =?iso-8859-1?q?versi=F3n?=del Boa Constructor Message-ID: <20030827211113.1d1b66e8.susi.toci@nodo50.org> Hola, lister en s. Pues eso, que el señor Riaan tiene en el CVS una nueva versión del Boa Constructor (la 0.2.6). http://sourceforge.net/forum/forum.php?forum_id=301310 ¡ Por fin se pueden utilizar "sizers" con Boa ! Mañana la echaré un vistazo. Tiene una pinta estupenda :-) Saludos. -- David Asorey Álvarez forodejazz (arroba) yahoo (punto) es http://pymprovisator.sourceforge.net From tjavier en usuarios.retecal.es Wed Aug 27 21:47:26 2003 From: tjavier en usuarios.retecal.es (=?ISO-8859-1?Q?Tom=E1s?= Javier Robles Prado) Date: Wed, 27 Aug 2003 21:47:26 +0200 Subject: Instalar python y wxpython In-Reply-To: <1062002669.3177.11.camel@IMAGINE> References: <1062002669.3177.11.camel@IMAGINE> Message-ID: <1062013646.21607.10.camel@cable200a204.usuarios.retecal.es> El mié, 27-08-2003 a las 18:44, Carlos Lopez Perez escribió: > Hola > > Soy un usuario típico de windows Hasta hace poco me movía bastante > bien en python y en windows (win32, wxPython, py2exe, sqlite, etc..). > Ahora me he pasado completamente a linux. Estoy intentando > acostumbrarme y todavía no lo he logrado. > Estoy con RedHat 9.0 + Ximian2 > > - Instalación de python: > Me bajo el 2.3.tgz los descomprimo, compilio e instalo: > tar -zxvf Python... > ./configure > make > su > make install > > OK me va bien > > - Ahora quiero instalar las wxPython > ¿Tengo que instalar el wxWindows primero? Yo lo hice por si acaso y > utilicé el gtk2 con unicode. Todo funcionó bien. Parecido a la > compilación de los fuentes de python pero sin olvidarse de ejecutar el > ldconfig. > A la hora de compilar las wxPython.tgz (los fuentes con GTK) no me da > ningún problema. > Posteriormente al instalarlo python setup build install (gtk ...) me > casca por la OpenGL > Intenté instalar y compilar Mesa3D pero no lo logré. También lo he > intentado con PyOpenGL pero nada. > No se como instalar las OpenGL en python. En windows es opcional el > uso de OpenGL. > > ¿Hay problemas con las GTK2? > ¿Alguien ha tenido los mismos problemas que yo? > ¿Cómo instalo las OpenGL en Linux? > > Gracias anticipadas por su colaboración > > Salu2 de clp ;) > > PD: Los paquetes exactos que he utilizado son los siguientes: > > Python: > Python-2.3.tgz > python-doc-html-2.3.tgz > > wxWindow: > wxGTK-2.4.1.tar.gz > > wxPython: > wxPythonDemo-2.4.1.2.tar.gz > wxPythonDocs-2.4.1.2.tar.gz > wxPythonSrc-2.4.1.2.tar.gz > Redhat viene con Pyton incorporado. Posiblemente tengas la versión 2.2 del intérprete. Si no necesitas las características de la 2.3 y no vas muy sobrado en Linux quédate con la que tienes para no "romper" nada. Instalar wxPython es muy sencillo. En la página encontrarás paquetes RPM, que son el formato de paquete que utiliza Redhat. Simplemente baja el que corresponda con tu versión del intérprete, y si no necesitas Unicode, coge la versión que no lo lleva. Una vez descargado instálalo con un simple rpm -ivh nombredelpaquete.rpm en un terminal o simplemente ejecutando algún asistente que venga con la distribución. De todas formas, creo que wxPython viene en los cds de instalación pero no estoy seguro... -- Un saludo, Tomás Javier Robles Prado http://milugar.doesntexist.org ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From larreategi en eibar.org Wed Aug 27 21:47:08 2003 From: larreategi en eibar.org (Mikel Larreategi) Date: Wed, 27 Aug 2003 21:47:08 +0200 Subject: py2exe y re In-Reply-To: <200308272046.25977.falted@openlc.org> References: <3413712905.20030827202023@eibar.org> <200308272046.25977.falted@openlc.org> Message-ID: <14618918852.20030827214708@eibar.org> Bueno, parece que he encontrado el fallo. Parece que es cosa del path, porque haciendo la prueba desde el directorio en el que esta instalado python funciona correctamente. Es decir, he copiado los .py a c:\python23 y todo me funciona bien. Saludos, Mikel Larreategi Estudiante Ingenieria Informatica UPV-EHU http://usuarios.lycos.es/erral PGP Key ID: 0x597B543C ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From luigli en yahoo.es Thu Aug 28 08:18:30 2003 From: luigli en yahoo.es (=?iso-8859-1?q?Luis=20Iglesias?=) Date: Thu, 28 Aug 2003 08:18:30 +0200 (CEST) Subject: Glade Win32 In-Reply-To: <3F4B9FA2.8040208@arrakis.es> References: <3F4B9FA2.8040208@arrakis.es> Message-ID: <20030828061830.27915.qmail@web80511.mail.yahoo.com> --- Marcos_Sánchez_Provencio escribió: > Hablando de memoria, no hace falta generar código, vale con usar el > pyglade y abrir el xml que genera el glade. Como siempre con python, > es > demasiado sencillo para que se le ocurra a uno a la primera. > > http://www.russnelson.com/pyglade-tutorial/ La idea es buena, pero para el entorno windows me parece que tienen la cosa un poco parada (PyGTK llega hasta la versión 2.1 de Python). ___________________________________________________ Yahoo! Messenger - Nueva versión GRATIS Super Webcam, voz, caritas animadas, y más... http://messenger.yahoo.es From rastreador en gmx.net Thu Aug 28 09:30:51 2003 From: rastreador en gmx.net (Manuel Angel Fernandez) Date: Thu, 28 Aug 2003 09:30:51 +0200 (MEST) Subject: Glade Win32 References: <20030828061830.27915.qmail@web80511.mail.yahoo.com> Message-ID: <1589.1062055851@www42.gmx.net> > > http://www.russnelson.com/pyglade-tutorial/ > > La idea es buena, pero para el entorno windows me parece que tienen la > cosa un poco parada (PyGTK llega hasta la versión 2.1 de Python). Yo lo estoy utilizando en windows con la version 2.2 de python y me va estupendo. Chao. -- COMPUTERBILD 15/03: Premium-e-mail-Dienste im Test -------------------------------------------------- 1. GMX TopMail - Platz 1 und Testsieger! 2. GMX ProMail - Platz 2 und Preis-Qualitätssieger! 3. Arcor - 4. web.de - 5. T-Online - 6. freenet.de - 7. daybyday - 8. e-Post From ch3m4 en ch3m4.org Thu Aug 28 09:36:25 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Thu, 28 Aug 2003 09:36:25 +0200 Subject: py2exe y re In-Reply-To: <14618918852.20030827214708@eibar.org> References: <3413712905.20030827202023@eibar.org> <200308272046.25977.falted@openlc.org> <14618918852.20030827214708@eibar.org> Message-ID: Mikel Larreategi escribió: > Bueno, parece que he encontrado el fallo. Parece que es cosa del path, > porque haciendo la prueba desde el directorio en el que esta instalado > python funciona correctamente. Es decir, he copiado los .py a > c:\python23 y todo me funciona bien. Lo más seguro es, como te dice Francesc, que tengas algo con el nombre 're'. ¿Tienes algún fichero propio llamado 're.py'? Para saber de dónde importa el módulo 're', prueba con: print re.__file__ ó con ésto import imp print imp.find_module("re") En realidad 're' es un sinónimo de 'sre'. Este módulo se usa mucho, por lo que esta cargado en la caché de módulos (con el .find_module verás que 're.py' está abierto). Asegúrate que el fichero abierto es 'c:\python23\lib\re.py'. From falted en openlc.org Thu Aug 28 10:11:00 2003 From: falted en openlc.org (Francesc Alted) Date: Thu, 28 Aug 2003 10:11:00 +0200 Subject: py2exe y re In-Reply-To: <14618918852.20030827214708@eibar.org> References: <3413712905.20030827202023@eibar.org> <200308272046.25977.falted@openlc.org> <14618918852.20030827214708@eibar.org> Message-ID: <200308281011.01168.falted@openlc.org> A Dimecres 27 Agost 2003 21:47, Mikel Larreategi va escriure: > Bueno, parece que he encontrado el fallo. Parece que es cosa del path, > porque haciendo la prueba desde el directorio en el que esta instalado > python funciona correctamente. Es decir, he copiado los .py a > c:\python23 y todo me funciona bien. Eso no deberia hacer falta, ya que el directorio actual siempre está en la path de búsqueda de módulos. Comprueba lo que te dice Chema, y si te hace falta, usa la variable PYTHONPATH para decirle a Python donde tienes tus módulos. -- Francesc Alted From luigli en yahoo.es Thu Aug 28 10:17:32 2003 From: luigli en yahoo.es (=?iso-8859-1?q?Luis=20Iglesias?=) Date: Thu, 28 Aug 2003 10:17:32 +0200 (CEST) Subject: Glade Win32 In-Reply-To: <1589.1062055851@www42.gmx.net> References: <1589.1062055851@www42.gmx.net> Message-ID: <20030828081732.90600.qmail@web80510.mail.yahoo.com> --- Manuel Angel Fernandez escribió: > > > http://www.russnelson.com/pyglade-tutorial/ > > > > La idea es buena, pero para el entorno windows me parece que tienen > la > > cosa un poco parada (PyGTK llega hasta la versión 2.1 de Python). > > Yo lo estoy utilizando en windows con la version 2.2 de python y me > va > estupendo. > > Chao. Yo tengo Python 2.3 y he instalado el pyGTK para win32 que me he encontrado, que es para la versión 2.1, cuando hago "import gtk": >>> import gtk Traceback (most recent call last): File "", line 1, in -toplevel- import gtk File "C:\PYTHON23\lib\gtk.py", line 21, in -toplevel- import _gtk ImportError: DLL load failed: No se puede hallar uno de los archivos de biblioteca necesarios para ejecutar esta aplicación. Desensamblando _gtk.pyd veo que requiere la librería python21.dll. Pasándome de listo, con el editor hexadecimal cambié dentro de _gtk.pyd el texto "python21.dll" por "python23.dll", pero python me ha pillado, soltándome: >>> import gtk C:\PYTHON23\lib\gtk.py:21: RuntimeWarning: Python C API version mismatch for module _gtk: This Python has API version 1012, module _gtk has version 1010. import _gtk (A lo mejor también se puede apañar la información de la versión, pero ya no se como) La solución buena sería recompilar todo, aunque en windows creo que no es fácil, y la solución marrullera, que no he probado sería tener al menos el archivo python21.dll disponible, que supongo que será la razón por la que a ti te funciona con la 2.2. Luis. ___________________________________________________ Yahoo! Messenger - Nueva versión GRATIS Super Webcam, voz, caritas animadas, y más... http://messenger.yahoo.es From lgs en sicem.biz Thu Aug 28 10:23:59 2003 From: lgs en sicem.biz (Lorenzo Gil Sanchez) Date: 28 Aug 2003 10:23:59 +0200 Subject: Glade Win32 In-Reply-To: <20030828081732.90600.qmail@web80510.mail.yahoo.com> References: <20030828081732.90600.qmail@web80510.mail.yahoo.com> Message-ID: <1062059039.2361.0.camel@i8100> Yo uso PyGTK 1.99.18 y no me da problemas con Python 2.2 en Windows. Puedes decirnos qué version de PyGTK usas y de dónde te la has bajado? Lorenzo El jue, 28-08-2003 a las 10:17, Luis Iglesias escribió: > --- Manuel Angel Fernandez escribió: > > > > http://www.russnelson.com/pyglade-tutorial/ > > > > > > La idea es buena, pero para el entorno windows me parece que tienen > > la > > > cosa un poco parada (PyGTK llega hasta la versión 2.1 de Python). > > > > Yo lo estoy utilizando en windows con la version 2.2 de python y me > > va > > estupendo. > > > > Chao. > > Yo tengo Python 2.3 y he instalado el pyGTK para win32 que me he > encontrado, que es para la versión 2.1, cuando hago "import gtk": > >>> import gtk > > Traceback (most recent call last): > File "", line 1, in -toplevel- > import gtk > File "C:\PYTHON23\lib\gtk.py", line 21, in -toplevel- > import _gtk > ImportError: DLL load failed: No se puede hallar uno de los archivos de > biblioteca necesarios para ejecutar esta aplicación. > > Desensamblando _gtk.pyd veo que requiere la librería python21.dll. > Pasándome de listo, con el editor hexadecimal cambié dentro de _gtk.pyd > el texto "python21.dll" por "python23.dll", pero python me ha pillado, > soltándome: > >>> import gtk > C:\PYTHON23\lib\gtk.py:21: RuntimeWarning: Python C API version > mismatch for module _gtk: This Python has API version 1012, module _gtk > has version 1010. > import _gtk > > (A lo mejor también se puede apañar la información de la versión, pero > ya no se como) > > La solución buena sería recompilar todo, aunque en windows creo que no > es fácil, y la solución marrullera, que no he probado sería tener al > menos el archivo python21.dll disponible, que supongo que será la razón > por la que a ti te funciona con la 2.2. > > Luis. > > ___________________________________________________ > Yahoo! Messenger - Nueva versión GRATIS > Super Webcam, voz, caritas animadas, y más... > http://messenger.yahoo.es > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From luigli en yahoo.es Thu Aug 28 10:39:42 2003 From: luigli en yahoo.es (=?iso-8859-1?q?Luis=20Iglesias?=) Date: Thu, 28 Aug 2003 10:39:42 +0200 (CEST) Subject: Glade Win32 In-Reply-To: <20030828081732.90600.qmail@web80510.mail.yahoo.com> References: <20030828081732.90600.qmail@web80510.mail.yahoo.com> Message-ID: <20030828083942.93822.qmail@web80510.mail.yahoo.com> > Yo tengo Python 2.3 y he instalado el pyGTK para win32 que me he > encontrado, que es para la versión 2.1, cuando hago "import gtk": > >>> import gtk > > Traceback (most recent call last): > File "", line 1, in -toplevel- > import gtk > File "C:\PYTHON23\lib\gtk.py", line 21, in -toplevel- > import _gtk > ImportError: DLL load failed: No se puede hallar uno de los archivos > de > biblioteca necesarios para ejecutar esta aplicación. > > Desensamblando _gtk.pyd veo que requiere la librería python21.dll. > Pasándome de listo, con el editor hexadecimal cambié dentro de > _gtk.pyd > el texto "python21.dll" por "python23.dll", pero python me ha > pillado, > soltándome: > >>> import gtk > C:\PYTHON23\lib\gtk.py:21: RuntimeWarning: Python C API version > mismatch for module _gtk: This Python has API version 1012, module > _gtk > has version 1010. > import _gtk > > (A lo mejor también se puede apañar la información de la versión, > pero > ya no se como) > > La solución buena sería recompilar todo, aunque en windows creo que > no > es fácil, y la solución marrullera, que no he probado sería tener al > menos el archivo python21.dll disponible, que supongo que será la > razón > por la que a ti te funciona con la 2.2. > > Luis. Bueno, ahora tengo python21.dll en el path pero desde python 2.3 tampoco funciona: >>> import gtk Traceback (most recent call last): File "", line 1, in -toplevel- import gtk File "C:\PYTHON23\lib\gtk.py", line 21, in -toplevel- import _gtk ImportError: Module use of python21.dll conflicts with this version of Python. ___________________________________________________ Yahoo! Messenger - Nueva versión GRATIS Super Webcam, voz, caritas animadas, y más... http://messenger.yahoo.es From ch3m4 en ch3m4.org Thu Aug 28 11:48:12 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Thu, 28 Aug 2003 11:48:12 +0200 Subject: Glade Win32 In-Reply-To: <20030828083942.93822.qmail@web80510.mail.yahoo.com> References: <20030828081732.90600.qmail@web80510.mail.yahoo.com> <20030828083942.93822.qmail@web80510.mail.yahoo.com> Message-ID: Luis Iglesias escribió: >>Yo tengo Python 2.3 y he instalado el pyGTK para win32 que me he >>encontrado, que es para la versión 2.1, cuando hago "import gtk": Tienes un pyGtk 1.99.18 para python 2.3 en http://www.pcpm.ucl.ac.be/~gustin/win32_ports/ > Bueno, ahora tengo python21.dll en el path pero desde python 2.3 > tampoco funciona: > >>>>import gtk > > > Traceback (most recent call last): > File "", line 1, in -toplevel- > import gtk > File "C:\PYTHON23\lib\gtk.py", line 21, in -toplevel- > import _gtk > ImportError: Module use of python21.dll conflicts with this version of > Python. Diferentes versiones de python utilizan diferentes versiones de máquina virtual (cpython). No sólo tendrías que cambiar al .dll sino también recompilar todos los .pyc y .pyo que hubiera. Dudo que puedas compatibilizar los binarios utilizando las dos máquinas virtuales. Sólo por probar, he instalado el pyGTK para probarlo. Mis pasos han sido: 1) Instalar "PyGTK 1.99.18 for Python 2.3" de http://www.pcpm.ucl.ac.be/~gustin/win32_ports/ 2) Instalar "The GTK+-2.2 runtime environment" de http://www.dropline.net/gtk/ 3) Añadir al PATH del sistema los directorios 'bin' y 'lib' de la instalación de Gtk2.2 (importante para que pyGTK encuentre estas DLLs) Y ya funciona todo. From susi.toci en nodo50.org Thu Aug 28 12:57:22 2003 From: susi.toci en nodo50.org (David Asorey Álvarez) Date: Thu, 28 Aug 2003 10:57:22 -0000 Subject: Instalar python y wxpython In-Reply-To: <1062013646.21607.10.camel@cable200a204.usuarios.retecal.es> References: <1062002669.3177.11.camel@IMAGINE>, <1062002669.3177.11.camel@IMAGINE> Message-ID: > > > > Soy un usuario típico de windows Hasta hace poco me movía bastante > > bien en python y en windows (win32, wxPython, py2exe, sqlite, etc. ). > > Ahora me he pasado completamente a linux. Estoy intentando > > acostumbrarme y todavía no lo he logrado. > > Estoy con RedHat 9.0 + Ximian2 > > > > [... sigue ...] No se como instalar las OpenGL en python. En > > windows es opcional el > > uso de OpenGL. > > > > ¿Hay problemas con las GTK2? > > ¿Alguien ha tenido los mismos problemas que yo? > > ¿Cómo instalo las OpenGL en Linux? > > En el directorio wxPython hay un archivo (setup.py) que puedes modificar. Si no te es imprescindible el OpenGL, al principio del fichero hay una línea (no me acuerdo ahora exactamente de cómo es) que por defecto viene = 1. opengl = 1 Cámbiala a 0 y no te instalará el OpenGL. ¡Suerte! Un saludo. -- David Asorey Álvarez forodejazz (arroba) yahoo (punto) es http://pymprovisator.sourceforge.net ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From ch3m4 en ch3m4.org Thu Aug 28 13:29:16 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-1?Q?Chema_Cort=E9s?=) Date: Thu, 28 Aug 2003 13:29:16 +0200 Subject: Controles enlazados a datos In-Reply-To: References: <3F4B9FA2.8040208@arrakis.es> Message-ID: diazjoseantonio en hotmail.com escribió: > Existe alguna herramienta que me permita al igual que en VB utilizar > controles enlazados a datos y que con minima programación se logre algún > manejo de los mismos Ej: DbGrid ??. Existe documentación al respecto ??. Que > otras alternativas hay ?? Para responderte, hay que separar la creación de interfaces de usuarios de lo que sería el manejo de bases de datos propiamente dicho. Para manejo de bases de datos, en python se utiliza lo que se conoce como DB-API, un interface común para todas las bases de datos y que utiliza el lenguaje SQL para hacer las consultas. Es realmente muy sencillo manejar las bases de datos, ya que aprendida una, cambiar a otra es trivial. Por otro lado, existen muchos y buenos toolkits para hacer interfaces gráficos (Gtk, Qt, wx, Tk,...). No los conozco tanto como para decirte si alguno posee algo parecido al "control enlazado a datos" del VB, aunque siempre es posible que a álguien le haya dado por diseñar un engendro de éstos (así como sus respectivos "widgets" que los utilizen); pero de momento no conozco nada. Sé que algunos diseñadores de interfaces como Boa-constructor ó Qt-designer llevan controladores de bases de datos, pero no creo que sea justamente lo que estás buscando. Para Qt tienes los controles "QDataTable", "QDataBrowser" y "QDataView" que posiblemente sea lo más parecido a lo que buscas, pero que en windows tendrás que programarlos a pelo (creo). From kmilo en softhome.net Thu Aug 28 14:23:59 2003 From: kmilo en softhome.net (kmilo) Date: 28 Aug 2003 07:23:59 -0500 Subject: Controles enlazados a datos In-Reply-To: References: Message-ID: <1062073289.350.3.camel@debian> No conozco mucho de VB(la verdad nada) pero me da la impresion que lo que buscas son los Python bindings para GNOME-DB. http://www.gnome-db.org pero tienes que mirarlo muy bien, por que me da la impresion que no trabaja sobre windows El mié, 27-08-2003 a las 09:33, Batista, Facundo escribió: > #- Existe alguna herramienta que me permita al igual que en VB utilizar > #- controles enlazados a datos y que con minima programación se > #- logre algún > #- manejo de los mismos Ej: DbGrid ??. Existe documentación al > #- respecto ??. Que > #- otras alternativas hay ?? > > Realmente no conozco VB. > > Quizás si explicás mejor a que te referís con "controles enlazados a datos" > te pueda ayudar. > > Saludos. > > . Facundo > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- /kmilo From luigli en yahoo.es Thu Aug 28 17:21:52 2003 From: luigli en yahoo.es (=?iso-8859-1?q?Luis=20Iglesias?=) Date: Thu, 28 Aug 2003 17:21:52 +0200 (CEST) Subject: Glade Win32 In-Reply-To: References: Message-ID: <20030828152152.8339.qmail@web80512.mail.yahoo.com> --- Chema_Cortés escribió: > Sólo por probar, he instalado el pyGTK para probarlo. Mis pasos han > sido: > > 1) Instalar "PyGTK 1.99.18 for Python 2.3" de > http://www.pcpm.ucl.ac.be/~gustin/win32_ports/ > > 2) Instalar "The GTK+-2.2 runtime environment" de > http://www.dropline.net/gtk/ > > 3) Añadir al PATH del sistema los directorios 'bin' y 'lib' de la > instalación de Gtk2.2 (importante para que pyGTK encuentre estas > DLLs) > > Y ya funciona todo. Gracias Chema, estaba yo perdido intentando solucionar las cosas por el camino más difícil. Lo que pasa es que en algún mensaje anterior se había comentado lo de diseñar con Glade e importar libglade para trabajar con las ventanas diseñadas en un fichero xml aparte; y el problema es que no importa libglade (no hay un libglade.py). Ya escribí a Cedric Gustin (el que portó pyGTK para python 2.3 a win32. A ver que me cuenta. Luis. ___________________________________________________ Yahoo! Messenger - Nueva versión GRATIS Super Webcam, voz, caritas animadas, y más... http://messenger.yahoo.es From visuallinux en hotmail.com Thu Aug 28 18:35:41 2003 From: visuallinux en hotmail.com (fernando miguel villarroel noriel) Date: Thu, 28 Aug 2003 16:35:41 +0000 Subject: Controles enlazados a datos Message-ID: Hola a todos; aprovecho la consulta para hacer la mia ya que esta relacvionada, el se refiere a que en VB existen objetos como Dbgrid donde uno le da parametros como el nombre de la base de datos y el recordset o la tabla a la que se enlazara el objeto y luego simplemente este objeto muestra una grilla (algo asi como una hoja de excel) donde como primera fila tienes el nombre de los campos y de ahy en adelante se muetsran las tuplas. OK. Bueno aqui viene mi consulta estoy en la busqueda de un entorno de desarrollo para programacion de una base de datos Postgresql y he buscado documentacion de Python, la verdad he encontrado documentacion de Pygresql y pgsql, pero yo al igual que nuestro amigo estoy buscando un entorno grafico de Python donde se puedan crear ventanas con controles que permitan por ejemplo consultar una tablas o si deseo otro boton que me permita agragar registros etc. He leido algo de wxPython pero no se si es eso lo que busco ya que he encontrado poca documentacion. Les comento que mi entorno es Linux, Postgresql y KDE. Ah lo he intentado con PHP pero no me satisface mucho. Gracias Fernando Villarroel N. >From: kmilo >Reply-To: La lista de python en castellano >To: 'La lista de python en castellano' >Subject: RE: [Python-es] Controles enlazados a datos >Date: 28 Aug 2003 07:23:59 -0500 > >No conozco mucho de VB(la verdad nada) pero me da la impresion que lo >que buscas son los Python bindings para GNOME-DB. > >http://www.gnome-db.org > > >pero tienes que mirarlo muy bien, por que me da la impresion que no >trabaja sobre windows > >El mié, 27-08-2003 a las 09:33, Batista, Facundo escribió: > > #- Existe alguna herramienta que me permita al igual que en VB utilizar > > #- controles enlazados a datos y que con minima programación se > > #- logre algún > > #- manejo de los mismos Ej: DbGrid ??. Existe documentación al > > #- respecto ??. Que > > #- otras alternativas hay ?? > > > > Realmente no conozco VB. > > > > Quizás si explicás mejor a que te referís con "controles enlazados a >datos" > > te pueda ayudar. > > > > Saludos. > > > > . Facundo > > _______________________________________________ > > Python-es mailing list > > Python-es en aditel.org > > http://listas.aditel.org/listinfo/python-es >-- >/kmilo > >_______________________________________________ >Python-es mailing list >Python-es en aditel.org >http://listas.aditel.org/listinfo/python-es _________________________________________________________________ ¿Estás buscando un auto nuevo? http://www.yupimsn.com/autos/ From larreategi en eibar.org Thu Aug 28 18:52:11 2003 From: larreategi en eibar.org (Mikel Larreategi) Date: Thu, 28 Aug 2003 18:52:11 +0200 Subject: py2exe y re In-Reply-To: References: <3413712905.20030827202023@eibar.org> <200308272046.25977.falted@openlc.org> <14618918852.20030827214708@eibar.org> Message-ID: <1446183902.20030828185211@eibar.org> 28/08/03-n Chema Cortés-(e)k idatzi du: El jueves, 28 de agosto de 2003 Chema Cortés escribió: > Lo más seguro es, como te dice Francesc, que tengas algo con el nombre > 're'. ¿Tienes algún fichero propio llamado 're.py'? Efectivamente habia un archivo re.py Inicialmente habia estado haciendo pruebas con expresiones regulares (es la primera vez que las uso a parte de en aquella horrorosa asignatura que es mejor olvidar ;)) y hacia las pruebas con un script que no se me ocurrio otra manera mas original que guardarlo en un archivo re.py :) Gracias por la ayuda ;) Saludos, Mikel Larreategi Estudiante Ingenieria Informatica UPV-EHU http://usuarios.lycos.es/erral PGP Key ID: 0x597B543C From aerd en retemail.es Thu Aug 28 18:29:22 2003 From: aerd en retemail.es (Ernesto Revilla) Date: Thu, 28 Aug 2003 18:29:22 +0200 Subject: Controles enlazados a datos References: <3F4B9FA2.8040208@arrakis.es> Message-ID: <00e901c36d85$92819670$0100a8c0@servidor> Eso es exáctamente lo que estamos fabricando, pantallas que enlazan con orígenes de objetos (que a su vez pueden estar conectados a una base de datos o surgir desde XML o cualquier otra cosa. La cosa es que estamos en medio del desarrollo y todavía falta un tiempecito. (En todo caso, lo encontrarás en gruppy.sf.net, los comentarios de la página Web no están actualizados. A principios de septiembre los retocaremos.) De todos modos, dado lo dinámico que es Python es bastante simple de hacer. Lo que no parece tan simple es hacer un DBGrid. Hay algunas opciones, dependiendo de los tamaños del Grid: * wxPython (wxGrid) * PyGTK (ListControl) es un control complejo y tiene comportamiento de grid, pero requiere retoques. Este es el camino que nosotros seguimos. * PyQT (ni idea, pero creo que tiene grid) * montar tu propio grid con culauqiera incluso Tkinter. Lo he hecho yo y dependiendo de cómo lo haces puedes manejar grids relativamente grandes. Saludos cordiales, Erny ----- Original Message ----- From: To: "La lista de python en castellano" Sent: Wednesday, August 27, 2003 3:32 PM Subject: [Python-es] Controles enlazados a datos > Existe alguna herramienta que me permita al igual que en VB utilizar > controles enlazados a datos y que con minima programación se logre algún > manejo de los mismos Ej: DbGrid ??. Existe documentación al respecto ??. Que > otras alternativas hay ?? > > > Saludos > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From cesar en eureka-sistemas.com Thu Aug 28 19:05:50 2003 From: cesar en eureka-sistemas.com (=?iso-8859-1?q?C=E9sar=20Gonz=E1lez?=) Date: Thu, 28 Aug 2003 19:05:50 +0200 Subject: Controles enlazados a datos In-Reply-To: References: Message-ID: <200308281905.50124.cesar@eureka-sistemas.com> Hola, Echadle un vistazo al modulo qtsql de PyQt. http://doc.trolltech.com/3.0/database.html El Jueves, 28 de Agosto de 2003 18:35, fernando miguel villarroel noriel escribió: > Hola a todos; aprovecho la consulta para hacer la mia ya que esta > relacvionada, el se > refiere a que en VB existen objetos como Dbgrid donde uno le da parametros > como > el nombre de la base de datos y el recordset o la tabla a la que se > enlazara el objeto y > luego simplemente este objeto muestra una grilla (algo asi como una hoja de > excel) > donde como primera fila tienes el nombre de los campos y de ahy en adelante > se muetsran > las tuplas. OK. > > Bueno aqui viene mi consulta estoy en la busqueda de un entorno de > desarrollo > para programacion de una base de datos Postgresql y he buscado > documentacion de Python, la verdad he encontrado documentacion de Pygresql > y pgsql, pero yo > al igual que nuestro amigo estoy buscando un entorno grafico de Python > donde se > puedan crear ventanas con controles que permitan por ejemplo consultar una > tablas > o si deseo otro boton que me permita agragar registros etc. He leido algo > de wxPython > pero no se si es eso lo que busco ya que he encontrado poca documentacion. > Les comento > que mi entorno es Linux, Postgresql y KDE. Ah lo he intentado con PHP pero > no > me satisface mucho. > > Gracias > > Fernando Villarroel N. > > From: kmilo > > >Reply-To: La lista de python en castellano > >To: 'La lista de python en castellano' > >Subject: RE: [Python-es] Controles enlazados a datos > >Date: 28 Aug 2003 07:23:59 -0500 > > > >No conozco mucho de VB(la verdad nada) pero me da la impresion que lo > >que buscas son los Python bindings para GNOME-DB. > > > >http://www.gnome-db.org > > > > > >pero tienes que mirarlo muy bien, por que me da la impresion que no > >trabaja sobre windows > > > >El mié, 27-08-2003 a las 09:33, Batista, Facundo escribió: > > > #- Existe alguna herramienta que me permita al igual que en VB utilizar > > > #- controles enlazados a datos y que con minima programación se > > > #- logre algún > > > #- manejo de los mismos Ej: DbGrid ??. Existe documentación al > > > #- respecto ??. Que > > > #- otras alternativas hay ?? > > > > > > Realmente no conozco VB. > > > > > > Quizás si explicás mejor a que te referís con "controles enlazados a > > > >datos" > > > > > te pueda ayudar. > > > > > > Saludos. > > > > > > . Facundo > > > _______________________________________________ > > > Python-es mailing list > > > Python-es en aditel.org > > > http://listas.aditel.org/listinfo/python-es > > > >-- > >/kmilo > > > >_______________________________________________ > >Python-es mailing list > >Python-es en aditel.org > >http://listas.aditel.org/listinfo/python-es > > _________________________________________________________________ > ¿Estás buscando un auto nuevo? http://www.yupimsn.com/autos/ > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es -- César González Revilla Eureka Sistemas http://www.eureka-sistemas.com/ cesar en eureka-sistemas.com Gnupg Public Key http://www.eureka-sistemas.com/keys/cesar.asc From siosss en ono.com Fri Aug 29 02:11:34 2003 From: siosss en ono.com (Sonia) Date: Thu, 28 Aug 2003 19:11:34 -0500 Subject: traza Message-ID: <000e01c36dc2$1b98fd40$c3b3ca51@Sonia> hola! tengo una duda con el codigo de esta traza. pongo el pequeño codigo, comentando lo q no entiendo, y a continuacion pongo lo q da al ejecutarla gracias! l= range(3) #esto se supone q es[0,1,2] no? ll=[] for i in l: ll.append(l[:i]) #yo creo q aqui al final se almacena [0,0,1,0,1,2] for j in ll: for k in j: #esto es lo q no entiendo. q quiere decir si k in j?? print k print '----' resultado de ejecucion: ---- 0 ---- 0 1 ---- gracias! ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From FBatista en uniFON.com.ar Thu Aug 28 19:20:39 2003 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Thu, 28 Aug 2003 14:20:39 -0300 Subject: traza Message-ID: l= range(3) #esto se supone q es[0,1,2] no? ll=[] for i in l: ll.append(l[:i]) #yo creo q aqui al final se almacena [0,0,1,0,1,2] for j in ll: for k in j: #esto es lo q no entiendo. q quiere decir si k in j?? print k print '----' Sonia, fijate: >>> l = range(3) >>> l [0, 1, 2] Efectivamente como vos decías. >>> ll = [] >>> for i in l: ll.append(l[:i]) >>> ll [[], [0], [0, 1]] Acá donde tenés el error. Saludos. . Facundo From siosss en ono.com Fri Aug 29 02:21:33 2003 From: siosss en ono.com (Sonia) Date: Thu, 28 Aug 2003 19:21:33 -0500 Subject: traza References: Message-ID: <001401c36dc3$809b0840$c3b3ca51@Sonia> osti! vale! gracias! eso son las neuronas q van fallando jeje! ----- Original Message ----- From: Batista, Facundo To: 'La lista de python en castellano' Sent: Thursday, August 28, 2003 12:20 PM Subject: RE: [Python-es] traza l= range(3) #esto se supone q es[0,1,2] no? ll=[] for i in l: ll.append(l[:i]) #yo creo q aqui al final se almacena [0,0,1,0,1,2] for j in ll: for k in j: #esto es lo q no entiendo. q quiere decir si k in j?? print k print '----' Sonia, fijate: >>> l = range(3) >>> l [0, 1, 2] Efectivamente como vos decías. >>> ll = [] >>> for i in l: ll.append(l[:i]) >>> ll [[], [0], [0, 1]] Acá donde tenés el error. Saludos. . Facundo _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From lgs en sicem.biz Thu Aug 28 19:14:52 2003 From: lgs en sicem.biz (Lorenzo Gil Sanchez) Date: 28 Aug 2003 19:14:52 +0200 Subject: Glade Win32 In-Reply-To: <20030828152152.8339.qmail@web80512.mail.yahoo.com> References: <20030828152152.8339.qmail@web80512.mail.yahoo.com> Message-ID: <1062090892.3592.1.camel@i8100> > Gracias Chema, estaba yo perdido intentando solucionar las cosas por el > camino más difícil. Lo que pasa es que en algún mensaje anterior se > había comentado lo de diseñar con Glade e importar libglade para > trabajar con las ventanas diseñadas en un fichero xml aparte; y el > problema es que no importa libglade (no hay un libglade.py). Ya escribí > a Cedric Gustin (el que portó pyGTK para python 2.3 a win32. A ver que > me cuenta. > Como intentas importar libglade? Yo creo que si que funciona: import pygtk pygtk.require('2.0') import gtk import gtk.glade > Luis. > > ___________________________________________________ > Yahoo! Messenger - Nueva versión GRATIS > Super Webcam, voz, caritas animadas, y más... > http://messenger.yahoo.es > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From siosss en ono.com Fri Aug 29 02:25:51 2003 From: siosss en ono.com (Sonia) Date: Thu, 28 Aug 2003 19:25:51 -0500 Subject: traza References: Message-ID: <001901c36dc4$19fc7960$c3b3ca51@Sonia> solo una cosa. en ll pq no llega a almacenarse tb [0,1,2]?? [[], [0], [0, 1],[0,1,2]] pq el 2 tb esta en l no?? >>> for i in l: ll.append(l[:i]) ----- Original Message ----- From: Batista, Facundo To: 'La lista de python en castellano' Sent: Thursday, August 28, 2003 12:20 PM Subject: RE: [Python-es] traza l= range(3) #esto se supone q es[0,1,2] no? ll=[] for i in l: ll.append(l[:i]) #yo creo q aqui al final se almacena [0,0,1,0,1,2] for j in ll: for k in j: #esto es lo q no entiendo. q quiere decir si k in j?? print k print '----' Sonia, fijate: >>> l = range(3) >>> l [0, 1, 2] Efectivamente como vos decías. >>> ll = [] >>> for i in l: ll.append(l[:i]) >>> ll [[], [0], [0, 1]] Acá donde tenés el error. Saludos. . Facundo _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From FBatista en uniFON.com.ar Thu Aug 28 19:42:58 2003 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Thu, 28 Aug 2003 14:42:58 -0300 Subject: traza Message-ID: #- solo una cosa. en ll pq no llega a almacenarse tb [0,1,2]?? #- #- [[], [0], [0, 1],[0,1,2]] #- #- pq el 2 tb esta en l no?? #- #- >>> for i in l: #- ll.append(l[:i]) En cada paso del for, i -> l[:i] 0 -> [] 1 -> [0] 2 -> [0, 1] Como ves, en ningún momento se logra [0,1,2]. . Facundo From luigli en yahoo.es Fri Aug 29 08:57:43 2003 From: luigli en yahoo.es (=?iso-8859-1?q?Luis=20Iglesias?=) Date: Fri, 29 Aug 2003 08:57:43 +0200 (CEST) Subject: Glade Win32 In-Reply-To: <1062090892.3592.1.camel@i8100> References: <1062090892.3592.1.camel@i8100> Message-ID: <20030829065743.9107.qmail@web80505.mail.yahoo.com> --- Lorenzo Gil Sanchez escribió: > Como intentas importar libglade? Yo creo que si que funciona: > > import pygtk > pygtk.require('2.0') > import gtk > import gtk.glade Vale, ésto ahora me deja. Lo que pasa es que tengo un ejemplo, quizá antiguo, del uso de recursos diseñados con glade y ahí es donde la cosa no pita: import libglade import gtk class gh: def on_button1_clicked(obj): print 'button1 clicked' def on_button2_clicked(obj): print 'button2 clicked' gtk.mainquit() if __name__ == '__main__': w = libglade.GladeXML('a.glade') w.signal_autoconnect(gh.__dict__) gtk.mainloop() Como libglade no está, problema habemus; si sigo vuestra recomendación: import gtk.glade import gtk class gh: def on_button1_clicked(obj): print 'button1 clicked' def on_button2_clicked(obj): print 'button2 clicked' gtk.mainquit() if __name__ == '__main__': w = gtk.glade.GladeXML('a.glade') w.signal_autoconnect(gh.__dict__) gtk.mainloop() dice que: Traceback (most recent call last): File "C:\DOWNLOAD\Python\GTK\example\a.py", line 12, in ? w = gtk.glade.GladeXML('a.glade') AttributeError: 'module' object has no attribute 'GladeXML' ___________________________________________________ Yahoo! Messenger - Nueva versión GRATIS Super Webcam, voz, caritas animadas, y más... http://messenger.yahoo.es ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: example.zip Type: application/x-zip-compressed Size: 928 bytes Desc: example.zip URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From luigli en yahoo.es Fri Aug 29 09:52:17 2003 From: luigli en yahoo.es (=?iso-8859-1?q?Luis=20Iglesias?=) Date: Fri, 29 Aug 2003 09:52:17 +0200 (CEST) Subject: Glade Win32 In-Reply-To: <20030829065743.9107.qmail@web80505.mail.yahoo.com> References: <20030829065743.9107.qmail@web80505.mail.yahoo.com> Message-ID: <20030829075217.96343.qmail@web80501.mail.yahoo.com> Bueno, lo más gordo ya está solucionado: había escrito a Cedric Gustin, el que preparó pyGTK para win32 y, me sugirió que mirara los ejemplos en el fuente de PyGTK, donde aparece: import sys import gtk import gtk.glade # create widget tree ... xml = gtk.glade.XML('test.glade') def gtk_main_quit(*args): gtk.main_quit() xml.signal_autoconnect(locals()) gtk.main() Lo que pasa es que ahora al instalar glade vuelvo a tener problemas con las DLLs pero espero controlarlo. Si consigo entender todo este embrollo voy a hacer un tratado de pyGTK sobre win32. Gracias a todos. ___________________________________________________ Yahoo! Messenger - Nueva versión GRATIS Super Webcam, voz, caritas animadas, y más... http://messenger.yahoo.es From tjavier en usuarios.retecal.es Fri Aug 29 11:42:45 2003 From: tjavier en usuarios.retecal.es (=?ISO-8859-1?Q?Tom=E1s?= Javier Robles Prado) Date: Fri, 29 Aug 2003 11:42:45 +0200 Subject: Acceder a BD Access a =?iso-8859-1?q?trav=E9s?= de una LAN Message-ID: <1062150164.16859.3.camel@cable200a204.usuarios.retecal.es> Hola, Necesito acceder acceder a una base de datos Access que está en otro equipo de una red local. Siguiendo algunos ejemplos que acceden a bases del propio equipo he probado con: >>> import win32com.client >>> conn = win32com.client.Dispatch(r'ADODB.Connection') >>> DSN = 'PROVIDER=Microsoft.Jet.OLEDB.3.6;DATA SOURCE=Puesto\\pruebas\nueva.mdb;' >>> conn.Open(DSN) y aquí recibo el error. ¿Alguien sabe si es posible hacer algo así con Python? -- Un saludo, Tomás Javier Robles Prado http://milugar.doesntexist.org ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Fri Aug 29 12:21:34 2003 From: rapto en arrakis.es (Marcos =?ISO-8859-1?Q?S=E1nchez?= Provencio) Date: 29 Aug 2003 12:21:34 +0200 Subject: Acceder a BD Access a =?ISO-8859-1?Q?trav=E9s?= de una LAN In-Reply-To: <1062150164.16859.3.camel@cable200a204.usuarios.retecal.es> References: <1062150164.16859.3.camel@cable200a204.usuarios.retecal.es> Message-ID: <1062152493.630.7.camel@cynar.proteus> El vie, 29-08-2003 a las 11:42, Tomás Javier Robles Prado escribió: > Hola, > > Necesito acceder acceder a una base de datos Access que está en otro > equipo de una red local. > Siguiendo algunos ejemplos que acceden a bases del propio equipo he > probado con: > > >>> import win32com.client > >>> conn = win32com.client.Dispatch(r'ADODB.Connection') > >>> DSN = 'PROVIDER=Microsoft.Jet.OLEDB.3.6;DATA SOURCE=Puesto\\pruebas\nueva.mdb;' > >>> conn.Open(DSN) > > y aquí recibo el error. > > ¿Alguien sabe si es posible hacer algo así con Python? Pues de momento, te falta alguna barra invertida... DSN=r'PROVIDER=Microsoft.Jet.OLEDB.3.6;DATASOURCE=\\Puesto\pruebas\nueva.mdb;' Suponiendo que hables del servidor 'puesto', recurso compartido 'pruebas', fichero nueva.mdb, claro... Para cadenas de conexion está muy bien http://www.connectionstrings.com/ Y recuerda poner r a las constantes de cadena siempre que haya barras invertidas. From ch3m4 en ch3m4.org Fri Aug 29 12:19:27 2003 From: ch3m4 en ch3m4.org (=?ISO-8859-15?Q?Chema_Cort=E9s?=) Date: Fri, 29 Aug 2003 12:19:27 +0200 Subject: Acceder a BD Access a =?iso-8859-15?q?trav=E9s___de_una_LAN?= In-Reply-To: <1062150164.16859.3.camel@cable200a204.usuarios.retecal.es> References: <1062150164.16859.3.camel@cable200a204.usuarios.retecal.es> Message-ID: Tomás Javier Robles Prado escribió: > Hola, > > Necesito acceder acceder a una base de datos Access que está en otro > equipo de una red local. > Siguiendo algunos ejemplos que acceden a bases del propio equipo he > probado con: > > >>> import win32com.client > >>> conn = win32com.client.Dispatch(r'ADODB.Connection') > >>> DSN = 'PROVIDER=Microsoft.Jet.OLEDB.3.6;DATA SOURCE=Puesto\\pruebas\nueva.mdb;' > >>> conn.Open(DSN) > > y aquí recibo el error. > > ¿Alguien sabe si es posible hacer algo así con Python? ¿qué error te da? ¿qué versión tienes de motor Jet? Prueba con DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=Puesto\\pruebas\nueva.mdb;' ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From tjavier en usuarios.retecal.es Fri Aug 29 14:19:17 2003 From: tjavier en usuarios.retecal.es (=?ISO-8859-1?Q?Tom=E1s?= Javier Robles Prado) Date: Fri, 29 Aug 2003 14:19:17 +0200 Subject: Acceder a BD Access a =?ISO-8859-1?Q?trav=E9s?= de una LAN In-Reply-To: References: <1062150164.16859.3.camel@cable200a204.usuarios.retecal.es> Message-ID: <1062159556.17251.2.camel@cable200a204.usuarios.retecal.es> El vie, 29-08-2003 a las 12:19, Chema Cortés escribió: Gracias a ambos, lo he solucionando "Conectando una unidad de red" en el equipo en el que accedo a la bbdd. Así sólo tengo q poner F:\pruebas\nueva.mdb Probaré lo que me indicáis, aunque ahora para probar seguiré con esta chapucilla :) -- Un saludo, Tomás Javier Robles Prado http://milugar.doesntexist.org ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From acrraidx en lycos.es Fri Aug 29 18:29:26 2003 From: acrraidx en lycos.es (AcrraidX) Date: Fri, 29 Aug 2003 12:29:26 -0400 Subject: herramienta de =?iso-8859-1?q?depuraci=F3n?= Message-ID: <200308291229.26241.acrraidx@lycos.es> Buenas lista, como andan todos por aquí, bueno les escribía para ver que herramientas de depuración me recomendaban para depurar código python. Muchas gracias de antemano SAludos AcrraidX -- Todo depende del AnimO <<>> From FBatista en uniFON.com.ar Fri Aug 29 18:26:56 2003 From: FBatista en uniFON.com.ar (Batista, Facundo) Date: Fri, 29 Aug 2003 13:26:56 -0300 Subject: =?iso-8859-1?Q?RE=3A_=5BPython-es=5D_herramienta_de_depuraci=F3?= =?iso-8859-1?Q?n?= Message-ID: #- Buenas lista, como andan todos por aquí, bueno les escribía #- para ver que #- herramientas de depuración me recomendaban para depurar #- código python. El único que usé, y funciona, es la opción debug del IDLE. . Facundo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ADVERTENCIA La información contenida en este mensaje y cualquier archivo anexo al mismo, son para uso exclusivo del destinatario y pueden contener información confidencial o propietaria, cuya divulgación es sancionada por la ley. Si Ud. No es uno de los destinatarios consignados o la persona responsable de hacer llegar este mensaje a los destinatarios consignados, no está autorizado a divulgar, copiar, distribuir o retener información (o parte de ella) contenida en este mensaje. Por favor notifíquenos respondiendo al remitente, borre el mensaje original y borre las copias (impresas o grabadas en cualquier medio magnético) que pueda haber realizado del mismo. Todas las opiniones contenidas en este mail son propias del autor del mensaje y no necesariamente coinciden con las de Telefónica Comunicaciones Personales S.A. o alguna empresa asociada. Los mensajes electrónicos pueden ser alterados, motivo por el cual Telefónica Comunicaciones Personales S.A. no aceptará ninguna obligación cualquiera sea el resultante de este mensaje. Muchas Gracias. ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From aerd en retemail.es Fri Aug 29 19:18:59 2003 From: aerd en retemail.es (Ernesto Revilla) Date: Fri, 29 Aug 2003 19:18:59 +0200 Subject: =?iso-8859-1?Q?Re:_=5BPython-es=5D_herramienta_de_depuraci=F3n?= References: Message-ID: <001401c36e51$a4569590$0100a8c0@servidor> RE: [Python-es] herramienta de depuraciónA mi me han comentado que Eric v.3 también es muy bueno, pero usa PyQT, es decir, tiene que instalado, bajo Windows quizá sea un poquito más trabajo. Bajo Windows uso PythonWin que va aceptablemente bien. Si no, ya sabes, usa print. ;-) Erny ----- Original Message ----- From: Batista, Facundo To: 'La lista de python en castellano' Sent: Friday, August 29, 2003 6:26 PM Subject: RE: [Python-es] herramienta de depuración #- Buenas lista, como andan todos por aquí, bueno les escribía #- para ver que #- herramientas de depuración me recomendaban para depurar #- código python. El único que usé, y funciona, es la opción debug del IDLE. . Facundo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ADVERTENCIA La información contenida en este mensaje y cualquier archivo anexo al mismo, son para uso exclusivo del destinatario y pueden contener información confidencial o propietaria, cuya divulgación es sancionada por la ley. Si Ud. No es uno de los destinatarios consignados o la persona responsable de hacer llegar este mensaje a los destinatarios consignados, no está autorizado a divulgar, copiar, distribuir o retener información (o parte de ella) contenida en este mensaje. Por favor notifíquenos respondiendo al remitente, borre el mensaje original y borre las copias (impresas o grabadas en cualquier medio magnético) que pueda haber realizado del mismo. Todas las opiniones contenidas en este mail son propias del autor del mensaje y no necesariamente coinciden con las de Telefónica Comunicaciones Personales S.A. o alguna empresa asociada. Los mensajes electrónicos pueden ser alterados, motivo por el cual Telefónica Comunicaciones Personales S.A. no aceptará ninguna obligación cualquiera sea el resultante de este mensaje. Muchas Gracias. ------------------------------------------------------------------------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ Se ha borrado un adjunto en formato HTML... URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From rapto en arrakis.es Sat Aug 30 10:09:08 2003 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Sat, 30 Aug 2003 10:09:08 +0200 Subject: herramienta de =?ISO-8859-1?Q?depuraci=F3n?= In-Reply-To: <200308291229.26241.acrraidx@lycos.es> References: <200308291229.26241.acrraidx@lycos.es> Message-ID: <3F505BA4.2010000@arrakis.es> AcrraidX wrote: >Buenas lista, como andan todos por aquí, bueno les escribía para ver que >herramientas de depuración me recomendaban para depurar código python. > >Muchas gracias de antemano > > >SAludos > >AcrraidX > > > > Lo más sencillo es usar IDLE, que viene con la distribución oficial. From rvr en infoastro.com Sat Aug 30 14:08:13 2003 From: rvr en infoastro.com (=?iso-8859-15?q?V=EDctor=20R=2E?= Ruiz) Date: Sat, 30 Aug 2003 14:08:13 +0200 Subject: Acceder a BD Access =?iso-8859-15?q?a=09trav=E9s=20de=20una?= LAN In-Reply-To: <1062159556.17251.2.camel@cable200a204.usuarios.retecal.es> References: <1062150164.16859.3.camel@cable200a204.usuarios.retecal.es> <1062159556.17251.2.camel@cable200a204.usuarios.retecal.es> Message-ID: <200308301408.13869.rvr@infoastro.com> Hola: El Viernes, 29 de Agosto de 2003 14:19, Tomás Javier Robles Prado tecleó: > Gracias a ambos, lo he solucionando "Conectando una unidad de red" en el > equipo en el que accedo a la bbdd. > Así sólo tengo q poner F:\pruebas\nueva.mdb Tenía entendido que Jet no soportaba accesos concurrentes y compartir la unidad para que accedan varios Access era una manera directa de terminar con la BB.DD corrompida. Saludetes, -- Víctor R. Ruiz | - Todos estos momentos se perderán Centro de Astrobiología CSIC-INTA | como lágrimas en la lluvia ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From javierm en aditel.org Sun Aug 31 01:13:57 2003 From: javierm en aditel.org (=?ISO-8859-1?Q?Javier_Mu=F1oz?=) Date: Sun, 31 Aug 2003 01:13:57 +0200 Subject: [Fwd: [socios-anuncios] Cierra tu sitio el 27-A (protesta contra la directiva de patentes software)]] In-Reply-To: <20030826151110.GF1161@demiurgo.org> References: <3F4B1A29.50805@arrakis.es> <20030826151110.GF1161@demiurgo.org> Message-ID: <3F512FB5.3040901@aditel.org> Esteban Manchado Velázquez escribió: > On Tue, Aug 26, 2003 at 10:28:25AM +0200, Marcos Sánchez Provencio wrote: > >>¿Os parece adecuado cerrar la web de pyspanishdoc.sourceforge.net? Si no >>hay nadie en contra con argumentos de peso, la cerraré a mediodía. >> >>¿Os parece adecuado cerrar la web de aditel.org (a los de aditel, claro)? > > > Completamente de acuerdo, claro. ¡Cierren todas las webs! > Leo este mensaje ahora. Solo comentar que la web de ADITEL se cerró. Saludos From jotarpl en yahoo.es Sun Aug 31 02:40:51 2003 From: jotarpl en yahoo.es (=?iso-8859-1?Q?J=2E_Ram=F3n?= Palacios) Date: Sun, 31 Aug 2003 02:40:51 +0200 Subject: Problemas usando el PythonG para hacer un jueguecillo In-Reply-To: References: Message-ID: <20030831004051.GA15679@ubik.homelinux.com> Hola bernard... decías, el 26 de ago de 2003: Hola. Creo que este es mi primer mensaje a esta lista. Hasta ahora estaba de "oyente", pero espero participar más en el futuro. Saludos a todos. > Se me ocurrió hacer una sencilla version del juego tron -ese q controlas > una raya y tienes que intentar no chocar con las otras ni con la tuya > misma- con el PythonG. No conocía PythonG. Yo también estoy realizando un "pequeño" juego en python, pero en mi caso estoy utilizando la librería Pygame: http://www.pygame.org Como te dice Diego Moya, tus problemas seguramente no serán de la librería, si no del algoritmo. Pero, por si te sirve de algo, he encontrado la librería Pygame bastante bien hecha: cómoda, completa... Y, bueno, aplicandome el consejo de Diego... pensaba esperar a tenerlo un poco más completo, pero ahí va: http://www.alterduo.com/pylota/pylota.html No estoy, de momento, muy preparado para recibir colaboraciones: no estoy acostumbrado y me gustaría implementar y estructurar un par de cosas antes por mi cuenta (las cuales ya tengo claras "en la cabeza"). Pero, bueno, si alguien quiere hecharle un ojo al código y decirme si ha visto alguna "barbaridad" mejorable... Tener en cuenta que es mi primer programa en python. De hecho lo estoy usando como método de aprendizaje (el movimiento se demuestra andando). Lo cojo y lo dejo por temporadas... pero no hay problema: estamos hablando de python, código facil de leer y retomar, incluso por uno mismo después de un par de meses ;) Para lo que quizá si que necesite un poco de ayuda es para implementar el modo de juego en red (cuando esté acabado). Nunca he programado nada en red y no se ni por dónde empezar. Espero que os guste... y no seais muy duros. En unos días o semanas espero retomarlo y darle un buen "empujón". Un saludo. -- J.Ramón Palacios email: jotarp arroba alterduo punto com From rapto en arrakis.es Sun Aug 31 09:56:56 2003 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Sun, 31 Aug 2003 09:56:56 +0200 Subject: =?ISO-8859-1?Q?Re=3A_=5BPython-es=5D_Re=3A_Acceder_a_B?= =?ISO-8859-1?Q?D_Access_a_trav=E9s_de_una_LAN?= In-Reply-To: <200308301408.13869.rvr@infoastro.com> References: <1062150164.16859.3.camel@cable200a204.usuarios.retecal.es> <1062159556.17251.2.camel@cable200a204.usuarios.retecal.es> <200308301408.13869.rvr@infoastro.com> Message-ID: <3F51AA48.3050707@arrakis.es> Víctor R. Ruiz wrote: > Hola: > >El Viernes, 29 de Agosto de 2003 14:19, Tomás Javier Robles Prado tecleó: > > >>Gracias a ambos, lo he solucionando "Conectando una unidad de red" en el >>equipo en el que accedo a la bbdd. >>Así sólo tengo q poner F:\pruebas\nueva.mdb >> >> > > Tenía entendido que Jet no soportaba accesos concurrentes y compartir la >unidad para que accedan varios Access era una manera directa de terminar con >la BB.DD corrompida. > > Saludetes, > > No hay problema, solo un par de precauciones: * No va a ir tan rapida como en local y en uso exclusivo. * Hay un uso del cache demasiado optimista que si que corrompe las BD bajo uso intensivo, pero se puede evitar haciendo mas pesimista el cache. Copio un fragmento del wiki de la intranet de mi empresa: Problemas con Base de Datos Access en servidores Windows/Samba Los servidores SMB/CIFS (Samba y Windows) tienen una función que se llama Bloqueo Oportunista. Esta función puede perjudicar a Gotta, cuando utiliza MS Jet (el formato de MS Access) como Base de Datos, bloqueando la descarga de datos en Base de Datos Física y corrompiendo la base de datos en niveles altos de carga. Para Windows XP: La solucción es entrar en el Editor de Registros (*RegEdit *) dónde se encuentra la base de datos y seguir la siguiente ruta: * /*HKEY_LOCAL_MACHINE\System\CurrentControlSet \Services\MRXSmb\Parameters\*/ En este punto crearémos las siguientes entradas: * Nombre de Entrada: *OplocksDisabled *, Valor: *REG_DWORD*, Información del Valor: *1* * Nombre de Entrada: *EnableOplocks *, Valor: *REG_DWORD*, Información del Valor: *0* Reiniciamos el equipo para que recoja la información y podemos seguir trabajando. Para Samba: Editar el fichero smb.conf que suele estar en /etc o en /etc/samba Añadir las siguientes líneas en [global] o en la sección del recurso compartido afectado: level2 oplocks = False oplocks = False Reiniciar Samba o enviarle un -HUP al proceso para que vuelva a leer la configuración. En linux: killall -HUP smbd PS: ¡Se me han vuelto a ir los acentos del Mozilla! ¡Volvemos a 1999! :-( From rapto en arrakis.es Sun Aug 31 10:45:13 2003 From: rapto en arrakis.es (=?ISO-8859-1?Q?Marcos_S=E1nchez_Provencio?=) Date: Sun, 31 Aug 2003 10:45:13 +0200 Subject: =?ISO-8859-1?Q?Re=3A_=5BPython-es=5D_Re=3A_Acceder_a_B?= =?ISO-8859-1?Q?D_Access_a_trav=E9s_de_una_LAN?= In-Reply-To: <3F51AA48.3050707@arrakis.es> References: <1062150164.16859.3.camel@cable200a204.usuarios.retecal.es> <1062159556.17251.2.camel@cable200a204.usuarios.retecal.es> <200308301408.13869.rvr@infoastro.com> <3F51AA48.3050707@arrakis.es> Message-ID: <3F51B599.2020704@arrakis.es> Perdon por el desastre de lo del wiki, envio mejor el doc de m$ http://support.microsoft.com/default.aspx?scid=kb;[LN];300216 Lo de samba vale Marcos Sánchez Provencio wrote: > Víctor R. Ruiz wrote: > >> Hola: >> >> El Viernes, 29 de Agosto de 2003 14:19, Tomás Javier Robles Prado >> tecleó: >> >> >>> Gracias a ambos, lo he solucionando "Conectando una unidad de red" >>> en el >>> equipo en el que accedo a la bbdd. >>> Así sólo tengo q poner F:\pruebas\nueva.mdb >>> >> >> >> Tenía entendido que Jet no soportaba accesos concurrentes y >> compartir la unidad para que accedan varios Access era una manera >> directa de terminar con la BB.DD corrompida. >> >> Saludetes, >> >> > No hay problema, solo un par de precauciones: > > * No va a ir tan rapida como en local y en uso exclusivo. > * Hay un uso del cache demasiado optimista que si que corrompe las BD > bajo uso intensivo, pero se puede evitar haciendo mas pesimista el > cache. Copio un fragmento del wiki de la intranet de mi empresa: > > > Problemas con Base de Datos Access en servidores Windows/Samba > > Los servidores SMB/CIFS (Samba y Windows) tienen una función que se > llama Bloqueo Oportunista. Esta función puede perjudicar a Gotta, > cuando utiliza MS Jet (el formato de MS Access) como Base de Datos, > bloqueando la descarga de datos en Base de Datos Física y corrompiendo > la base de datos en niveles altos de carga. > > Para Windows XP: > > La solucción es entrar en el Editor de Registros (*RegEdit*) dónde se > encuentra la base de datos y seguir la siguiente ruta: > > * /*HKEY_LOCAL_MACHINE\System\CurrentControlSet > CurrentControlSet>\Services\MRXSmb\Parameters\*/ > > > En este punto crearémos las siguientes entradas: > > * Nombre de Entrada: OplocksDisabled, Valor: > *REG_DWORD*, Información del Valor: *1* > * Nombre de Entrada: *EnableOplocks > EnableOplocks>*, Valor: > *REG_DWORD*, Información del Valor: *0* > > Reiniciamos el equipo para que recoja la información y podemos seguir > trabajando. > > Para Samba: > > Editar el fichero smb.conf que suele estar en /etc o en /etc/samba > > Añadir las siguientes líneas en [global] o en la sección del recurso > compartido afectado: > > level2 oplocks = False oplocks = False > Reiniciar Samba o enviarle un -HUP al proceso para que vuelva a leer > la configuración. En linux: > > killall -HUP smbd > > > > PS: ¡Se me han vuelto a ir los acentos del Mozilla! ¡Volvemos a 1999! :-( > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es From jmga4 en eresmas.com Sun Aug 31 16:27:23 2003 From: jmga4 en eresmas.com (Jose Gonzalez) Date: Sun, 31 Aug 2003 14:27:23 GMT Subject: Una pausa que no bloqueante Message-ID: <2205ea2274bf.2274bf2205ea@ma29.eresmas.com> Hola, Tengo un problemilla, con wxPython y la realizacion de pausas. Cada vez que hago una pausa con sleep(), la ventana con los objetos de wxPython se quedan bloqueados y no puede actulizarse hasta que no se termina la pausa. Eso razonablemente es normal, pero por ejemplo si quiero cambiar una imagen por otra y despues hago una pausa, hasta que no se pase el tiempo de pausa no se cambia la imagen. ¿Alguien sabe como puedo soluciona el problema? Gracias de antemano. -- Jose[jmga4 en eresmas.com] -- ----------------------------------------------------------------------- ¿Preocupado por su factura de teléfono? Tarifas Planas Uni2 para hablar por teléfono, sin límites de horas ni números de llamadas. ¡Y ahora 50% de descuento! http://www.eresmas.com/banners/promo.html?unidos1 ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: jmga4.vcf Type: text/x-vcard Size: 5 bytes Desc: Card for Jose Gonzalez URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From amphora en escomposlinux.org Sun Aug 31 20:12:19 2003 From: amphora en escomposlinux.org (amphora) Date: Sun, 31 Aug 2003 20:12:19 +0200 Subject: Problemas usando el PythonG para hacer un jueguecillo In-Reply-To: <20030831004051.GA15679@ubik.homelinux.com> References: <20030831004051.GA15679@ubik.homelinux.com> Message-ID: <1062353539.865.2.camel@romeo.escomposlinux.org> El dom, 31-08-2003 a las 02:40, J. Ramón Palacios escribió: > > Para lo que quizá si que necesite un poco de ayuda es para implementar el > modo de juego en red (cuando esté acabado). Nunca he programado nada en red > y no se ni por dónde empezar. Igual esto te ayuda: http://sjbrown.ezide.com/writing-games.html -- amphora ecolnet ------------ próxima parte ------------ A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Esta parte del mensaje está firmada digitalmente URL: ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es From contusion en interlap.com.ar Sun Aug 31 20:36:18 2003 From: contusion en interlap.com.ar (Dani) Date: Sun, 31 Aug 2003 20:36:18 +0200 Subject: Una pausa que no bloqueante In-Reply-To: <2205ea2274bf.2274bf2205ea@ma29.eresmas.com> References: <2205ea2274bf.2274bf2205ea@ma29.eresmas.com> Message-ID: <3F524022.4080808@interlap.com.ar> Intuyo que lo que necesitas es utilizar hebras, que son ejecuciones independientes y paralelas (ejem... concurrentes) de trozos de tu programa. De este modo, hacer sleep() en una hebra sólo detiene a esa hebra, y las demás (p.e. la que actualiza la ventana con los objetos) pueden seguir ejecutándose normalmente. No sé cómo van las hebras en Python, pero sé que hay módulos para utilizarlas sin complicarse mucho la vida. Suerte y ánimo ;) Un saludo, Dani. Jose Gonzalez escribió: > Hola, > Tengo un problemilla, con wxPython y la realizacion de pausas. > Cada vez que hago una pausa con sleep(), la ventana con los objetos de > wxPython se quedan bloqueados y no puede actulizarse hasta que no se > termina la pausa. > > Eso razonablemente es normal, pero por ejemplo si quiero cambiar una > imagen por otra y despues hago una pausa, hasta que no se pase el tiempo > de pausa no se cambia la imagen. > > ¿Alguien sabe como puedo soluciona el problema? > Gracias de antemano. > -- Jose[jmga4 en eresmas.com] -- > > ----------------------------------------------------------------------- > ¿Preocupado por su factura de teléfono? > Tarifas Planas Uni2 para hablar por teléfono, sin límites de horas ni > números de llamadas. > ¡Y ahora 50% de descuento! > http://www.eresmas.com/banners/promo.html?unidos1 > > > _______________________________________________ > Python-es mailing list > Python-es en aditel.org > http://listas.aditel.org/listinfo/python-es ------------ próxima parte ------------ _______________________________________________ Python-es mailing list Python-es en aditel.org http://listas.aditel.org/listinfo/python-es