[pyar] invalid literal for int() with base 10
fisa
fisadev en gmail.com
Sab Dic 17 15:10:58 ART 2011
On Dec 17, 2011 2:57 PM, "Diego Uribe Gamez" <diego.uribe.gamez en gmail.com>
wrote:
>
> 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.
Ojo, no me malentiendas, está genial que quieras seguir :)
En lo que te insisto es que antes de seguir con tu aplicación, dediques un
tiempo a leer algún libro o algo de programación básica, y no directamente
mandarte a hacer la aplicación sin saber antes lo básico de la programación.
Porque es como querer correr una carrera sin antes haber caminado nunca. Te
vas a dar la cabeza contra la pared muchas veces por no entender cosas
básicas, y no vas a aprender más que a hacer prueba y error hasta que
misteriosamente ande o alguien lo haga andar por vos.
Está genial que la gente quiera aprender a programar. Está genial que la
gente quiera programar aplicaciónes. No está bueno que la gente quiera
programar aplicaciones sin aprender a programar.
Con la mejor onda ;)
--
fisa - Juan Pedro Fisanotti - desde Android
> 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
>
> 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
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20111217/8de5b06b/attachment.html>
More information about the pyar
mailing list