Created
April 23, 2020 21:40
-
-
Save fjsanti/a0128271f4f11eb0ea6b9176b05ec127 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python3 | |
import csv #Importamos el modulo csv para manejo de archivos CSV | |
import os | |
''' | |
Este programa administra una agenda simple con tres opciones 1) mostrar los contactos | |
2) agregar contactos 3) cerrar la agenda. Para ello se definen las tres opciones como funciones. | |
''' | |
#Creamos un archivo csv vacio | |
archivo = csv.writer(open("datos_agenda.csv", "a", newline = '')) | |
def mostrar_contactos(): | |
#Abrimos el archivo en modo lectura y texto | |
archivo = csv.reader(open("datos_agenda.csv", "rt")) | |
file_path= 'datos_agenda.csv' | |
if os.stat(file_path).st_size == 0: | |
print('Aun no tienes contactos!') | |
else: | |
for index,row in enumerate(archivo): | |
# Muestrar las columnas del csv en orde de contacto, numero e email | |
print("contacto: " + str(index+1)) | |
print("-------------------") | |
print("nombre: " + row[0] + " || numero: " + row[1] + " || email: " + row[2]) | |
print("\n") | |
# Funcion para agregar un contacto abriendo el archivo | |
# en modo "append" o agregar linea al final del archivo. | |
def agregar_contacto(nombre, numero, email): | |
archivo = csv.writer(open("datos_agenda.csv", "a", newline = '')) | |
archivo.writerow([nombre, numero, email]) | |
def mostrar_menu(): #Un menu guia simple | |
print("gestion de contactos") | |
print("[1] mostrar contactos.") | |
print("[2] agregar contacto.") | |
print("[3] salir.") | |
opcion=True | |
# El objeto "opcion" recopila que quieres hacer mediante el comando input | |
while opcion: | |
mostrar_menu() | |
opcion=input("==> opcion: ") | |
if opcion == "1": | |
mostrar_contactos() | |
#Creamos el menu de opciones con sentencias de control if y elseif (else if). | |
elif opcion == "2": | |
nombre = input("==> nombre: ") | |
numero = input("==> numero: ") | |
email = input("==> email: ") | |
agregar_contacto(nombre, numero, email) | |
elif opcion == "3": | |
print("Adios UwU") | |
break # Terminamos la ejecucion con la estructura de control break |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment