RE: [Python-es] RE: [Python-es] Duda un poco básica ¿RTFM? ;-)

Hernan Martinez Foffani hernan en orgmf.com.ar
Jue Ago 22 14:28:00 CEST 2002


> No, el tutorial me parece excelente, pero me siento como si
> dieran algo por sabido, mira el tipo de preguntas que hago :-)

el tutorial está escrito asumiendo que el lector ya tiene
experiencia previa en programación.

> Respecto a mi experiencia programando... me considero bastante
> mediocre :-)
> Soy de letras, autodidacta, y además no tengo mucha experiencia.

¿mediocre?  ¿programando con regexp?  tenes baja tu autoestima!
:-D

> > i en la rhs no está definida todavia.
>
> ¿Qué es rhs?

ups. perdon. rhs es "right hand side" y se refiere a la parte
derecha de una expresion. en:
a = b + c
la rhs es "b + c" y la lhs (left hand side) es "a"
vas a encontrar esas abreviaturas en casi cualquier manual de
referencia de lenguajes de programacion.

> > ¿no sería mas sencillo: my_file.append(param) ?
>
> Seguramente. A eso me refiero cuando digo que me considero
> bastante mediocre.

eh! eso no ser mediocre!

> A que tiro 10 líneas para cosas que se pueden hacer en una...
> Pero estoy empeñada a aprender python como sea :-)

muy bien!

> > si my_file fuera una lista de listas, sería:
> > my_file[0][1]
>
> ¿Y esto está en el tutorial? Debo andar ciega total :-)

je... nunca dije que estuviera en el tutorial ;-)

> Pero si descomento y "arreglo" el último while:
>
> while i < line_num:
>         while j < len(param):
> 	        print my_log[i][j]
>                 j = j + 1
>                 i = i + 1
>
> Entonces se me queja:
>
> [arodrigo en cuelebre iptables]$ python amaya.py
> 1
> Aug 22
> 09:35:33
> SRC=192.168.3.9
> Traceback (most recent call last):
>   File "amaya.py", line 32, in ?
>     print my_log[i][j]
> IndexError: list index out of range
>
> Me imagino que i o j se están dando un viaje, pero... ¿a dónde?

Python, a diferencia de C, no deja que se vayan muy lejos. :-D
en este caso i queda en 4

> Si en cambio pruebo esto (porque programo de oído ;-)))):
>
> while i < line_num:
>         while j < len(param):
>                 print my_log[i][j]
>                 j = j + 1
>         i = i + 1

el oido te funciono bien. :-D
solo te falto poner en 0 a j para cada vuelta de i.
(sospecho que para cuando leas este mail ya lo habras solucionado)

> Otra cosa, ¿No existe algo como i++ y j++ para incrementar un contador?

i += 1
que, en el caso de enteros, es exactamente lo mismo que escribir
i = i + 1

Saludos,
-Hernan





Más información sobre la lista de distribución Python-es