elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
06 Octubre 2008, 22:18  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Scripting
| | | |-+  una libreta de direcciones en python
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: una libreta de direcciones en python  (Leído 316 veces)
s1d4rt4

Desconectado Desconectado

Mensajes: 28



Ver Perfil WWW
una libreta de direcciones en python
« en: 30 Agosto 2006, 03:22 »

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

Código:
#!/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!
« Última modificación: 30 Agosto 2006, 05:19 por s1d4rt4 » En línea

sirdarckcat
sdc
CoAdmin
*****
Desconectado Desconectado

Mensajes: 4.639


HAND


Ver Perfil WWW
Re: una libreta de direcciones en python
« Respuesta #1 en: 30 Agosto 2006, 03:59 »

pues esta bien.. incluso funciona xD, podrias agregarle una opcion de agrupar en "amigos" "trabajo" etc.. pero
esta bien :P

Saludos!!
En línea

s1d4rt4

Desconectado Desconectado

Mensajes: 28



Ver Perfil WWW
Re: una libreta de direcciones en python
« Respuesta #2 en: 30 Agosto 2006, 04:36 »

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
En línea

Division-x

Desconectado Desconectado

Mensajes: 1.372

No lo fuerce, comprese un martillo mas grande


Ver Perfil
Re: una libreta de direcciones en python
« Respuesta #3 en: 03 Septiembre 2006, 03:34 »



mu bueno y mu bonito, enhorabuena.

S4lu2!!!
En línea

Tiger [AlBiCeLeStE]

Desconectado Desconectado

Mensajes: 109



Ver Perfil
Re: una libreta de direcciones en python
« Respuesta #4 en: 03 Septiembre 2006, 17:56 »

quedo muy bueno... felizitaciones. Tal vez podrias ponerle para que te pida el telefono y el fax :P
En línea

Páginas: [1] Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC
Free counter and web stats