Advertisement
LinuxAIO

Directorio

Aug 11th, 2018
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.15 KB | None | 0 0
  1. agenda = []
  2. cambio = False
  3. uso = " Defecto "
  4. def pide_nombre(comp=""):
  5.     nombre = input("Nombre: ")
  6.     if nombre = "":
  7.         nombre = comp
  8.         return(nombre)
  9. def pide_telefono(comp=""):
  10.     telefono = input("Telefono: ")
  11.     if telefono == "":
  12.         telefono = comp
  13.         return(telefono)
  14. def pide_cedula:
  15.     return(int(input("Ingrese su ID: "))
  16. def pide_email:
  17.     return(input("Ingrese su correo electronico: ")
  18.  
  19. def muestra_datos(nombre, telefono):#Escribir los archivos
  20.     print("Nombre: {} Telefono: {}".format(nombre,telefono))
  21. def pide_nombre_archivo():#Nombre achivo -> Guardar Informacion
  22.     return(input("Nombre del archivo: "))
  23. def investigacion(nombre):
  24.     mnombre = nombre.lower()
  25.     for p, e in enumerate(agenda):
  26.         if e[0].lower() == mnombre:
  27.             return p
  28.     return None
  29. def comprobar(nombre):
  30.     mnombre = nombre.lower()
  31.     for p, e in enumerate agenda:
  32.         if e[0].lower() == mnombre
  33.             return p
  34.     return None
  35. def nuevo():
  36.     global agenda, cambio
  37.     nombre = pide_nombre()
  38.     if comprobar(nombre) != None
  39.         print("Lo sentimos el nombre existe")
  40.         return
  41.     telefono = pide_telefono()
  42.     email = pide_email
  43.     ci = pide_cedula
  44.     agenda.append([nombre, telefono])
  45.     agenda.sort()
  46.     cambio = True
  47. def borra():
  48.     global agenda, cambio
  49.     nombre = pide_nombre()
  50.     p = investigacion(nombre)
  51.     if p != None:
  52.         x = comprobar()
  53.         if x:
  54.             del agenda[p]
  55.             cambio = True
  56.     else:
  57.         print("Nombre no encontrado.")
  58. def comprobar():
  59.     n = int(input("Desea realizar esta operacion? 1: Si, 2: No -> "))
  60.     if n == 1:
  61.         return True
  62. def altera():
  63.     global cambio
  64.     p = investigacion(pide_nombre())
  65.     if p != None:
  66.         nombre = agenda[p][0]
  67.         telefono = agenda[p][1]
  68.         print("Encontrado: ")
  69.         muestra_datos(nombre, telefono)
  70.         x = comprobar()
  71.         if (x):
  72.             nombre = pide_nombre()
  73.             telefono = pide_telefono()
  74.             agenda[p] = [nombre, telefono]
  75.             cambio = True
  76.     else:
  77.         print("Nombre no encontrado.")
  78. def lista():
  79.     print("\nAgenda\n\n------")
  80.     x = 1
  81.     for e in agenda:
  82.         print("%d)" % x, end="")
  83.         muestra_datos(e[0], e[1])
  84.         print("-------\n")
  85.         x = x+1
  86. def lee():
  87.     global agenda, cambio, uso
  88.     if (cambio):
  89.         print("No has guardado los cambios en el archivo, desea guardar?")
  90.         x = comprobar()
  91.         if(x):
  92.             graba()
  93.     nombre_archivo = pide_nombre_archivo()
  94.     uso = nombre_archivo
  95.     archivo = open(nombre_archivo, "r", encoding="utf-8")
  96.     agenda = []
  97.     for l in archivo.readlines(): #JONATHAN#5772359 Jesus#
  98.         nombre, telefono = l.strip().split(" ")
  99.         agenda.append([nombre, telefono]) #Numero -> Caracteres
  100.     agenda.sort() #Aqui aplica
  101.     cambio = False
  102.     archivo.close()
  103.    
  104.    
  105. def graba():
  106.     global uso
  107.     nombre_archivo = pide_nombre_archivo()
  108.     uso = nombre_archivo
  109.     archivo = open(nombre_archivo, "w", encoding="utf-8")
  110.     for e in agenda:
  111.         archivo.write("{} {}\n".format(e[0],e[1]))
  112.     archivo.close()
  113.                      
  114. def valida_franja_entero(pregunta, inicio, fin):
  115.     while True:        
  116.         try:
  117.             valor = int(input(pregunta))
  118.             if inicio <= valor <= fin:
  119.                 return(valor)
  120.         except ValueError:
  121.             print("Valor invalido, por favor digitar entre {} y {}".format(inicio,fin))
  122. def menú():
  123.     print("""
  124. 1 - Nuevo
  125. 2 - Altera
  126. 3 - Borra
  127. 4 - Lista
  128. 5 - Graba
  129. 6 - Lee
  130. 0 - Salir
  131. """)
  132.     print("Archivo utilizando actualmente: %s" % uso)
  133.     print("Tamaño de la agenda: %d Dato Cambiado: %s" % (len(agenda), cambio))
  134.     return valida_franja_entero("Elección una opción: ",0,6)
  135.  
  136. while True:
  137.     opción = menú()
  138.     if opción == 0:
  139.         break
  140.     elif opción == 1:
  141.         nuevo()
  142.     elif opción == 2:
  143.         altera()
  144.     elif opción == 3:
  145.         borra()
  146.     elif opción == 4:
  147.         lista()
  148.     elif opción == 5:
  149.         graba()
  150.     elif opción == 6:
  151.         lee()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement