Análisis de ejercicios

Iniciado por blozzter, Agosto 11, 2011, 12:35:47 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Noviembre 03, 2011, 09:28:12 PM #20 Ultima modificación: Noviembre 03, 2011, 09:29:45 PM por blozzter
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

gracias por participar, me gustó mucho tu code.
Saludos.

(te edité tu mensaje, para la proxima utiliza las etiquetas para poner código, y evita el doble post)

Bueno muchas gracias lo tomare muy en cuenta  :P
Espero nos pongas mas ejercicios para ir practicando

Noviembre 07, 2011, 03:23:07 PM #21 Ultima modificación: Mayo 03, 2014, 03:55:26 AM por Flemon
Hola bueno les dejo el codigo de la agenda:
Código: python

#-------------------------------------------------------------------------------------------------------------------------------------------#
#Fecha de creacion: martes 1 de novoembre del 2011              Fecha de modificacion: Lunes 7 de noviembre del 2011                        #
#Archivo: Agenda                                                # de modificaciones: 1                                                      #
#Version:1.0.0                                                                                                                              #
#Autor: Marco Yuquilima                                         Observaciones: Terminado                                                    #
#-------------------------------------------------------------------------------------------------------------------------------------------#

class Elemento:
    def __init__(self,nombre,apellido,*otros):# inicializamos con 2 o mas parametros xq guardar necesita 5 parametros y buscar 2
        self.nombre=nombre
        self.apellido=apellido
        self.otros=otros
        self.f=open('/home/cencalada/Escritorio/python/Ejercicios marco/nombres.txt','a+')       

    def guardar(self): 
        nuevo=True               #variable que nos indica si existe el contacto para que los datos el txt no se repitan
        hoja=open('/home/cencalada/Escritorio/python/Ejercicios marco/nombres.txt','r')
        for linea in hoja:
            if linea.find(self.nombre+"\t"+self.apellido)>=0:
                nuevo=False
                break
        hoja.close()
        if nuevo:
            valor=(self.nombre+"\t"+self.apellido+"\t"+self.otros[0]+"\t"+self.otros[1]+"\t"+self.otros[2])
            self.f.write("\n%s" %valor)          #escribimos los datos en el archivo
            self.f.close()
        else:
            print "#####################\nYa existe el contacto \n"           

    def listar(self):#metodo que nos lista todos los contactos
        self.f=open('/home/cencalada/Escritorio/python/Ejercicios marco/nombres.txt','r')
        print self.f.read()
        self.f.close()

    def buscar (self):#metodo que nos muestra un contacto en caso de existir
        hoja=open('/home/cencalada/Escritorio/python/Ejercicios marco/nombres.txt','r')
        for linea in hoja:
            if linea.find(self.nombre+"\t"+self.apellido)>=0:
                print linea
        hoja.close()

    def modificar(self):#metodo con el cual podemos modificar un contacto
        hoja=open('/home/cencalada/Escritorio/python/Ejercicios marco/nombres.txt','r')
        cadena="cadena vacia"
        for linea in hoja:
            if linea.find(self.nombre+"\t"+self.apellido)>=0:
                print linea
                cadena=linea#buscamos nombre y apellido del contacto y almacenamos todos los datos para reemplazarlos
                break
        hoja.close()
        hoja=open('/home/cencalada/Escritorio/python/Ejercicios marco/nombres.txt','r')
        original=hoja.read()#creamos una "copia" del archivo
        hoja.close
        if original.find(self.nombre+"\t"+self.apellido)>=0:#buscamos al contacto para ingresar nuevos datos
            print"INGRESAR NUEVOS DATOS:"
            n=raw_input(u'Ingresar nombre: ')
            a1=raw_input(u'Ingresar apellido paterno : ')
            a2=raw_input(u'Ingresar apellido materno : ')
            d=raw_input(u'Ingresar direccion : ')
            t=raw_input(u'Ingresar telefono : ')
            txt=original.replace(cadena,n+"\t"+a1+"\t"+a2+"\t"+d+"\t"+t+"\n")#modificamos los datos en una "copia" del archivo
            hoja=open('/home/cencalada/Escritorio/python/Ejercicios marco/nombres.txt','w')#abrimos el archivo para escribir
            hoja.writelines(txt)#reemplazamos linea a linea la "copia" del archivo al archivo original
            hoja.close()

    def eliminar(self):
        hoja=open('/home/cencalada/Escritorio/python/Ejercicios marco/nombres.txt','r')
        cadena="cadena vacia"
        for linea in hoja:
            if linea.find(self.nombre+"\t"+self.apellido)>=0:
                print linea
                cadena=linea#buscamos nombre y apellido del contacto y almacenamos todos los datos para reemplazarlos
                break
        hoja.close()
        hoja=open('/home/cencalada/Escritorio/python/Ejercicios marco/nombres.txt','r')
        original=hoja.read()#creamos una "copia" del archivo
        hoja.close
        if original.find(self.nombre+"\t"+self.apellido)>=0:#buscamos al contacto para ingresar nuevos datos
            txt=original.replace(cadena,"")#modificamos los datos en una "copia" del archivo
            hoja=open('/home/cencalada/Escritorio/python/Ejercicios marco/nombres.txt','w')#abrimos el archivo para escribir
            hoja.writelines(txt)#reemplazamos linea a linea la "copia" del archivo al archivo original
            hoja.close()
    def __del__(self):
        print "Destruyendo...."#eliminamos de memoria lo que ya no necesitamos

while True:#menu de opciones para interactuar correctamente la clase que manipula el archivo
    print "***************************************************************************************"
    print "MENU DE OPCIONES:"
    print "(1)- Ingresar contacto..."
    print "(2)- Lista de contactos..."
    print "(3)- Buscar contacto..."
    print "(4)- Modificar contacto..."
    print "(5)- Eliminar contacto..."
    print "(6)- Salir..."
    opcion=raw_input(u'Digitar opcion: ')
    print "***************************************************************************************"
    try:
        opcion=int(opcion)
    except:
        print "#################\nPor favor ingresar numero"
        continue
    if opcion==1:   
        n=raw_input(u'Ingresar nombre: ')
        a1=raw_input(u'Ingresar apellido paterno : ')
        a2=raw_input(u'Ingresar apellido materno : ')
        d=raw_input(u'Ingresar direccion : ')
        t=raw_input(u'Ingresar telefono : ')
        f=Elemento(n,a1,a2,d,t)
        f.guardar()
    elif opcion==2:
        f.listar()
    elif opcion==3:
        nombre=raw_input("Nombre de contacto: ")
        apellido=raw_input("Apellido de contacto: ")
        f=Elemento(nombre,apellido)
        f.buscar()
    elif opcion==4:
        nombre=raw_input("Nombre de contacto: ")
        apellido=raw_input("Apellido de contacto: ")
        f=Elemento(nombre,apellido)
        f.modificar()
    elif opcion==5:
        nombre=raw_input("Nombre de contacto: ")
        apellido=raw_input("Apellido de contacto: ")
        f=Elemento(nombre,apellido)
        f.eliminar()
    elif opcion==6:
        break
    else:
        print "#############################\nIngresar numeros entre el 1 y 6"

me parece que esta completo pero cualquier cosa avisenme

Noviembre 15, 2011, 12:02:03 AM #22 Ultima modificación: Noviembre 15, 2011, 01:49:33 PM por Spectrus
valla amigos comprten muchos codes aqui cuando ya empiese a practicar python y lo tenga bien estudiado y aprendedi posteo aqui mi programa salu2 chicos !!! ;)

Spectrus: Amigo no uses colores ya que dificulta la lectura.
[♠] [♦] [♣] [♥] カřθBમčאּ[♠] [♦] [♣] [♥]

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
valla amigos comprten muchos codes aqui cuando ya empiese a practicar python y lo tenga bien estudiado y aprendedi posteo aqui mi programa salu2 chicos !!!  ;)

porfavor  es molesto para los ojos leer de color rojo.. son varios post tuyos.. editalos :D gracias..
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Llaman traidor a la persona que evito que caiga el foro, gente bruta!