elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


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

Desconectado Desconectado

Mensajes: 28



Ver Perfil WWW
una libreta de direcciones en python
« 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

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 am por s1d4rt4 » En línea

sirdarckcat
Aspirante a supervillano
Colaborador
***
Desconectado Desconectado

Mensajes: 7.029


No estoy loco, soy mentalmente divergente


Ver Perfil WWW
Re: una libreta de direcciones en python
« Respuesta #1 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!!


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

Division-x


Desconectado Desconectado

Mensajes: 1.360

No lo fuerce, comprese un martillo mas grande


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



mu bueno y mu bonito, enhorabuena.

S4lu2!!!
En línea

T1g3r

Desconectado Desconectado

Mensajes: 123



Ver Perfil
Re: una libreta de direcciones en python
« Respuesta #4 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
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Libreta de Direcciones CSV problemas AYUDA
Dudas Generales
Chatarrina 3 1,766 Último mensaje 27 Marzo 2013, 17:08 pm
por morodog
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines