problema de principiante
Josef Meile
jmeile en hotmail.com
Vie Feb 11 22:43:04 CET 2005
> Bueno, con una función es suficiente, pero la clase es más elegante. Por
> lo que veo, sólo la última línea del condicional varía de acuerdo a la
> coordenada. El código dentro del condicional también varía de acuerdo a
> la coordenada. Para poder hacer la generalización, se tuvieron que mover
> dos lineas de sitio: Las líneas 10 y 12 dentro de la función setPbs
> (segundo condicional) se intercambiaron de sitio. En las siguientes
> líneas utilizo los caracteres !! y ?? para hacer énfasis en lo que
> varía.
>
> [...] Montones de código
>
> Y se llama como:
>
> setPbs(0)
> setPbs(2)
> setPbs(1)
>
>
> De hecho creo que podría usarse tan sólo un diccionario:
>
> listCoord={'x':ax, 'y':ay ,'z':az}
>
> pero habría que hacerle unas modificaciones al código.
>
Un pequeño error: en la línea donde hago el llamado a
getattr, omití el objeto. Por lo tanto, la línea:
velocity=getattr(listCoord[index])
se reemplazaría por:
velocity=getattr(ball.velocity,listCoord[index])
Saludos,
Josef
Más información sobre la lista de distribución Python-es