Re: [Comandob] python mola, pero me lío al dar for mato a textos con tildes
On 26/01/10 17:44, Ismael Fanlo wrote: no és redundant... mira: >>> len("á"), len(unicode("á", "utf8")) (2, 1) No he seguit el fil i em falta la dosi de cafe, però... >>> len("á"), len(unicode("á", "utf8")) (2, 1) >>> len(u"á"), len(unicode("á", "utf8")) (1, 1) -- ___ Comandob mailing list Comandob@badopi.org http://lists.badopi.org/mailman/listinfo/comandob
Re: [Comandob] python mola, pero me lío al dar for mato a textos con tildes
Hola, On Jan/26/2010, Ismael Fanlo wrote: > JoaquÃ-n 15000 en aquest cas pot ser un problema del terminal. Amb konsole pots fer proves fàcilment via menús. -- Carles Pina i Estany http://pinux.info -- ___ Comandob mailing list Comandob@badopi.org http://lists.badopi.org/mailman/listinfo/comandob
Re: [Comandob] python mola, pero me lío al dar for mato a textos con tildes
Jordi Funollet escribió: Ismael, a qui intèrpret de Python estàs picant això? Si estàs fent servir 'ipython' pot venir d'aquí el problema: a mi em falla en 'ipython' però es comporta en 'python'. estic usant la shell IDLE, però el mateix comportament l'he comprobat al python "pelat". Jo diría que el 'unicode()' és redundant, però els temes d'encoding sempre em superen. :-) Coincideixo en recomanar-te python...@python.org. Molt coneixement (com a Badopi) i molt bona voluntat (l'invers de Badopi). :-P no és redundant... mira: >>> len("á"), len(unicode("á", "utf8")) (2, 1) sense la funció unicode() -o el mètode .decode()- ni tans sols compta els caràcters correctament. m'apuntaré a aquesta llista que em deieu en Ferran i tu... Gràcies, -- Ismael Fanlo Ofimática y software libre http://superalumnos.net -- ___ Comandob mailing list Comandob@badopi.org http://lists.badopi.org/mailman/listinfo/comandob
Re: [Comandob] python mola, pero me lío al dar for mato a textos con tildes
Ismael, a qui intèrpret de Python estàs picant això? Si estàs fent servir 'ipython' pot venir d'aquí el problema: a mi em falla en 'ipython' però es comporta en 'python'. Jo diría que el 'unicode()' és redundant, però els temes d'encoding sempre em superen. :-) Coincideixo en recomanar-te python...@python.org. Molt coneixement (com a Badopi) i molt bona voluntat (l'invers de Badopi). :-P Trobaràs els arxius a gmane.org. -- ## ### Jordi Funollet ### http://www.terraquis.net -- ___ Comandob mailing list Comandob@badopi.org http://lists.badopi.org/mailman/listinfo/comandob
Re: [Comandob] python mola, pero me lío al dar for mato a textos con tildes
Ismael Fanlo escribió: Hola, davdela! davdela escribió: Declara los strings en unicode con la 'u' esta delante. lista = [[u"Juan", 1],[u"Joaquín", 15000],[u"Marta", 12000],[u"María", 6000]] Ya no hace falta. Encontré la solución vía función unicode() >>> lista = [["Juan", 1], ["Joaquín", 15000], ["Marta", 12000], ["María", 6000]] >>> for registro in lista: nombre, importe = registro print "%-10s%8i" % (unicode(nombre, "utf-8"), importe) Juan 1 Joaquín 15000 Marta12000 María 6000 Ahora el problema será como mostrará los resultados en Windows un script con algo así. :-D Sigo estudiando... gracias. -- Ismael Fanlo Ofimática y software libre http://superalumnos.net -- ___ Comandob mailing list Comandob@badopi.org http://lists.badopi.org/mailman/listinfo/comandob
Re: [Comandob] python mola, pero me lío al dar for mato a textos con tildes
Hola, davdela! davdela escribió: Declara los strings en unicode con la 'u' esta delante. lista = [[u"Juan", 1],[u"Joaquín", 15000],[u"Marta", 12000],[u"María", 6000]] Gracias, ahora ya encolumna bien, pero >>> for registro in lista: nombre, importe = registro print "%-10s%8i" % (nombre, importe) Juan 1 JoaquÃ-n 15000 Marta12000 MarÃ-a6000 Supongo que ahora hay un problema de codificación y en vez de imprimir 'nombre' debo imprimir la_funcion_que_sea(nombre), donde la función será algo que codifique (o decodifique) bien eso del unicode. Creo que algo de esto mismo me hará falta para que el mismo script python me muestre los caracteres correctos en Linux y en Windows (que era la continuación de la pregunta). Ya investigo, si entretanto alguien ya lo ha hecho que me oriente. Muchas gracias. -- Ismael Fanlo Ofimática y software libre http://superalumnos.net -- ___ Comandob mailing list Comandob@badopi.org http://lists.badopi.org/mailman/listinfo/comandob
Re: [Comandob] python mola, pero me lío al dar for mato a textos con tildes
2010/1/24 Ismael Fanlo : > hmmm Hola! > > Ya sabéis que no soy programador, pero me gusta aprender y he aprovechado > unos días de desconexión para hacer mi segunda incursión en Python. ¡Esta > vez he llegado ya a aclararme con las clases! :-) > > Me gusta... ¡me gusta mucho! > > Pero hay un problema que no se como atacar... de entrada, me hago la picha > un lío con eso del unicode y demás, pero bueno, al grano... > > Deseo imprimir encolumnada una lista de textos y valores. > > Por ejemplo > lista = [["Juan", 1],["Joaquín", 15000],["Marta", 12000],["María", 6000]] > print lista #una comprobación previa... > > [['Juan', 1], ['Joaqu\xc3\xadn', 15000], ['Marta', 12000], > ['Mar\xc3\xada', 6000]] > for registro in lista: > nombre, importe = registro > print "%-10s%8i" % (nombre, importe) > > Juan 1 > Joaquín 15000 > Marta 12000 > María 6000 > > > Las palabras que tienen tilde me salen descolumnadas... he probado con > rjust/ljust y obtengo el mismo resultado... > > Claro, si resulta que Python cuenta un caracter más por la tilde... > print len("a"), len("á") > > 1 2 > > Entonces, oh, grandes gurús de Badopi, sed tan amables de orientarme. A > cambio, me someteré a vuestros caprichos perversos. :-D > > Y ya de paso... ¿alguna lista de correo _en español_ sobre Python? > > Gràcies! > Declara los strings en unicode con la 'u' esta delante. lista = [[u"Juan", 1],[u"Joaquín", 15000],[u"Marta", 12000],[u"María", 6000]] De nada. -- davdela -- ___ Comandob mailing list Comandob@badopi.org http://lists.badopi.org/mailman/listinfo/comandob