Título: una libreta de direcciones en python
Publicado por: s1d4rt4 en 30 Agosto 2006, 03:22 am
emmmm, eso,me leí algunos manuales (como el de la uji y el libro byte of python), y decidí escribir una libreta de direcciones de email para probar si había digerido el contenido o no... el programa funciona, no es gran cosa pero cumple su cometido. Se los posteo para saber k opinan y si la forma en que lo escribí es la correcta o no, pork se me ocurren por lo menos 3 o 4 formas distintas de escribirlo #!/usr/bin/python # -*- coding: iso-8859-15 -*-
import cPickle as p
class AddressBook:
email = {} inputt = '' archivo = 'ab.data'
def __init__(self): # decidiendo si es necesario cargar o crear ab.data try: f = file(AddressBook.archivo) AddressBook.email = p.load(f) f.close() except: f = file(AddressBook.archivo,'w') f.close()
print '---------------------------------------' print ' AddressBook 1.0' print '---------------------------------------'
def menu(self): while not ('a'<= AddressBook.inputt <='f'): print 'a) Agregar contacto' print 'b) Modificar Contacto' print 'c) Eliminar contacto' print 'd) Buscar contacto' print 'e) Mostrar todos' print 'f) Salir' AddressBook.inputt = raw_input('ingrese una opción: ') if not ('a'<= AddressBook.inputt <='f'): print '---------------------------------------' print 'La opción "%s" no es correcta' % AddressBook.inputt print '---------------------------------------'
def add(self): # agregar contacto contact = raw_input('Ingrese el nombre del contacto: ') email = raw_input('Ingrese email: ') AddressBook.email[contact] = email
print '---------------------------------------' print '"%s" ha sido agregado(a)' % contact print '---------------------------------------'
AddressBook.inputt = '' def modify(self): # modificar contacto contact = raw_input('Ingrese el contacto que desea modificar: ')
if contact in AddressBook.email: email = raw_input('ingrese el nuevo email: ') AddressBook.email[contact] = email print '---------------------------------------' print '"%s" ha sido actualizado(a)' % contact print '---------------------------------------' else: print '---------------------------------------' print '"%s" no existe' % contact print '---------------------------------------'
AddressBook.inputt = '' def delete(self): # eliminar contacto contact = raw_input('Ingrese el contacto que desea eliminar: ')
if contact in AddressBook.email: del AddressBook.email[contact] print '---------------------------------------' print '"%s" ha sido eliminado(a)' % contact print '---------------------------------------' else: print '---------------------------------------' print '"%s" no existe(a)' % contact print '---------------------------------------' AddressBook.inputt = ''
def search(self): # buscar contacto contact = raw_input('Ingrese el nombre del contacto: ')
if contact in AddressBook.email: print '---------------------------------------' print 'El email de %s es %s' % (contact, AddressBook.email[contact]) print '---------------------------------------'
else: print '---------------------------------------' print '"%s" no existe' % contact print '---------------------------------------' AddressBook.inputt = ''
def view_all(self): # mostrar todos los contactos print '---------------------------------------' for name, email in AddressBook.email.items(): print 'El email de %s es %s' % (name,email) print '---------------------------------------'
AddressBook.inputt = ''
# programa principal a = AddressBook() a.menu()
while a.inputt != 'f': if a.inputt == 'a': a.add() a.menu() elif a.inputt == 'b': a.modify() a.menu() elif a.inputt == 'c': a.delete() a.menu()
elif a.inputt == 'd': a.search() a.menu() elif a.inputt == 'e': a.view_all() a.menu()
if a.inputt == 'f': # guardar los emails en un archivo f = file(a.archivo,'w') p.dump(a.email,f) f.close() eso pues =) espero sus comentarios... saludos!
Título: Re: una libreta de direcciones en python
Publicado por: sirdarckcat en 30 Agosto 2006, 03:59 am
pues esta bien.. incluso funciona xD, podrias agregarle una opcion de agrupar en "amigos" "trabajo" etc.. pero esta bien :P
Saludos!!
Título: Re: una libreta de direcciones en python
Publicado por: s1d4rt4 en 30 Agosto 2006, 04:36 am
hahaha xD si lo habia pensado (o leído la sugerencia de byte of python), pero me da la impresión que quedaría muy cargado y poco intuitivo para un programa de consola
Título: Re: una libreta de direcciones en python
Publicado por: Division-x en 3 Septiembre 2006, 03:34 am
(http://img.photobucket.com/albums/v119/kasseds_avatars/shiggy_whee_small.gif)
mu bueno y mu bonito, enhorabuena.
S4lu2!!!
Título: Re: una libreta de direcciones en python
Publicado por: T1g3r en 3 Septiembre 2006, 17:56 pm
quedo muy bueno... felizitaciones. Tal vez podrias ponerle para que te pida el telefono y el fax :P
|