[pyar] invalid literal for int() with base 10
Diego Uribe Gamez
diego.uribe.gamez en gmail.com
Sab Dic 17 14:56:26 ART 2011
jajajaja estoy aprendiendo, pero igual hay cosas mas difíciles de hacer
como el avión de los hermanos wright.
Gracias, voy a seguir intentando.
El 17 de diciembre de 2011 12:33, fisa <fisadev en gmail.com> escribió:
>
> On Dec 17, 2011 2:08 PM, "Diego Uribe Gamez" <diego.uribe.gamez en gmail.com>
> wrote:
> >
> > Resulta que el problema que tengo es un poco complejo y es que la Lista
> que tengo contiene Strings pero en realidad son números.
> >
> > Intente la función normal de python para convertir todos los Strings en
> Enteros:
> >
> > for i in range(len(self.Cadenastring)):
> > self.Cadenapura = int(self.Cadenastring[i])
> >
> > Cadenastring = ['2', '012642000444971' , '151938.00' , '0440.132117',
> '0.0', '0.0', '171211', '5.5', ]
> >
> > Error:
> > self.Cadenapura = int(self.Cadenastring[i])
> > ValueError: invalid literal for int() with base 10: ''
> >
> > Encontré esta información:
> >
> > http://docs.python.org/library/string.html
> >
> > Convert string s to an integer in the given base. The string must
> consist of one or more digits, optionally preceded by a sign (+ or -).
> The base defaults to 10. If it is 0, a default base is chosen depending on
> the leading characters of the string (after stripping the
> sign): 0x or 0X means 16, 0 means 8, anything else means 10. If base is 16,
> a leading 0x or 0X is always accepted, though not required. This behaves
> identically to the built-in function int() when passed a string. (Also
> note: for a more flexible interpretation of numeric literals, use the
> built-in function eval().)
> >
> > El problema:
> > No se trata de una Lista de números matemáticos, es solo un texto en
> con números escritos que debo cambiarles el Type pero no logro hacerlo?
>
> Varias cosas...
>
> 1) convirtiendo a int cosas que no son int:
> Int es entero. Estás intentando convertir a enteros cosas que tienen
> decimales (puntos), o sea que no son enteros.
> Ese es el error que te tira.
> Pero cuando lo arregles te adelanto que vas a tener más problemas:
>
> 2) cómo hacer un for:
> Tu for se puede expresar muuuuucho más fácil:
>
> for texto in self.Cadenastring:
> self.Cadenapura = int(texto)
>
> Ese for hace exáctamente lo mismo que tu for. Igual, más allá de que lo
> complicaste, tu for esta también mal por algo que explico después:
>
> 3) dónde guardás tus números:
> Fijate que por cada número, lo intentás convertir a int y lo guardás en
> self.Cadenapura.
> Pero así siempre pisas lo que hay en Cadenapura! No armaste una lista y
> vas agregando tus números convertidos. Directamente tenés una variable
> donde vas pisando siempre un único valor. Al final te va a quedar un solo
> número, el último convertido.
>
> Para resolver eso tenés que usar listas como ya te expliqué en otro mail:
>
> self.Cadenapura = []
> for texto in self.Cadenastring:
> self.Cadenapura.append(int(texto))
>
> O mucho mejor:
>
> self.Cadenapura = [int(t) for t in self.Cadenastring]
>
> Te insisto: estás intentando construir un avión sin entender como funciona
> un botón...
>
> > --
> > Diego Alonso Uribe Gamez
> > ________________________________
> >
> > Desarrollador web
> >
> > Twitter: @DiegoUG
> >
> > Google+: http://gplus.to/diegoug
> >
> > ________________________________
> >
> >
> >
> > _______________________________________________
> > pyar mailing list pyar en python.org.ar
> > http://listas.python.org.ar/listinfo/pyar
> >
> > PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
> >
> > La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
--
*Diego Alonso Uribe Gamez*
------------------------------
*Desarrollador web*
Twitter: @DiegoUG <http://www.twitter.com/DiegoUG>
Google+: http://gplus.to/diegoug
------------------------------
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20111217/da27c222/attachment.html>
More information about the pyar
mailing list