reto inicial

Chema Cortes py en ch3m4.org
Vie Nov 11 13:38:49 CET 2005


Jorge A. Cortes M. escribió:
> Necesito tener listo para dentro de 8 dias un programa que simule un
> comportamiento de rescate para el caso de las torres gemelas del dia
> 11 de septiembre que tuvo gran conmocion y, quisiera hacerlo en python
> porque me dieron la libertad de escoger el lenguaje.
> 
> el codigo que llevo hasta el momento es este:
> 
> 
> # 'Se trata de algo que simule un rescate en la tragedia que se vivio
> el 11 de sep en el WTC'
> # 'Esto es para un trabajo que tengo en la universidad'

Se ve que es un problema tipo, incluso te diría que se puede mejorar
mucho desde el punto de vista pythónico. Ya no me meto en que no es muy
realista, y eso te lo digo con conocimiento sobre cómo funcionan los
equipos de emergencias.


> #OBJETIVO 1
> 
> #1) Preguntar al usuario cuantas personas encontraron despues de la tragedia
> #2) Segun las personas que ingreso en el punto anterior, decirle que
> digite su nombre
> #   para la identificacion.
> #3) Mostrar los nombres de las personas registradas que fueron
> encontradas en una lista.

Primera cosa: lo seres humanos son más complejos que los ordenadores,
pero si hay algo que los ordenadores hacen muy bien es contar. En lugar
de pedir que te diga el número de personas, tan sólo pide que las vaya
introduciendo hasta encontrar una señal (por ejemplo: línea vacía).


> #OBJETIVO 2
> 
> #1) Tratar de sacar las personas ingresadas y que la lista  me quede
> otra vez disponible
> #   para encontrar mas personas

Aquí, en cambio, es más rápido mostrar un número delante de cada persona
con el que se puede seleccionar más rápidamente.


> #OBJETIVO n
> 
> #1) Ojala pudiera hacerlo con entorno grafico y menus

Es muy simple y directo con Tkinter. Si quieres presentaciones más
lustrosas, emplea wx, gtk ó qt para sacar las listas en tablas.

> 
> nombre={}

No voy a comentar el resto del código, pero aquí te tengo que advertir
que estás empleando un diccionario. Te funciona porque los índices
también pueden ser numéricos, pero podrías tener problemas con codigo
más complejo.

Los diccionarios están pensados para buscar rápidamente un elemento;
pero tienen la desventaja que el orden de sus elementos difiere del
usado para crearlos (seguro que te has dado cuenta al ejecutar el programa).

Otra cosa: para borrar un elemento de la lista deberías emplear el
comando 'del'


Si quieres un buen reto en python, rehaz el código para que no sea
necesario saber cúantos elementos hay en la lista de personas.




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