Created
February 12, 2024 17:43
-
-
Save jlcarrascof/714c8a9b5123c1391cccf51e708908c3 to your computer and use it in GitHub Desktop.
Codigo Facilito Python Challenge - Day 5
This file contains hidden or 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
# CodigoFacilito Challenge 5: Registro de usuarios usando diccionarios, opciones de menú y funciones | |
users = {} | |
def new_user(user_id): | |
print("Registro del usuario:", user_id) | |
# Solicita y valida el nombre | |
while True: | |
first_name = input('Ingresa tu nombre: ') | |
if 5 <= len(first_name) <= 50: | |
break | |
else: | |
print('El nombre debe tener entre 5 y 50 caracteres.') | |
# Solicita y valida los apellidos | |
while True: | |
last_name = input('Ingresa tus apellidos: ') | |
if 5 <= len(last_name) <= 50: | |
break | |
else: | |
print('Los apellidos deben tener entre 5 y 50 caracteres.') | |
# Solicita y valida el número de teléfono | |
while True: | |
telephone = input('Ingresa tu número de teléfono: ') | |
if len(telephone) == 10 and telephone.isdigit(): | |
break | |
else: | |
print('El número de teléfono debe tener 10 dígitos.') | |
# Solicita y valida el correo electrónico | |
while True: | |
email = input('Ingresa tu correo electrónico: ') | |
if 5 <= len(email) <= 50: | |
break | |
else: | |
print('El correo electrónico debe tener entre 5 y 50 caracteres.') | |
# Almacena la información del usuario en un diccionario | |
users[user_id] = { | |
'first_name': first_name, | |
'last_name': last_name, | |
'telephone': telephone, | |
'email': email | |
} | |
print('Hola ' + first_name + ' ' + last_name, ' en breve recibirás un correo a ' + email + '.') | |
def show_user(user_id): | |
if user_id in users: | |
print(users[user_id]) | |
else: | |
print("No existe un usuario con ese ID.") | |
def edit_user(user_id): | |
if user_id in users: | |
# Solicita y valida el nombre | |
while True: | |
first_name = input('Ingresa tu nombre: ') | |
if 5 <= len(first_name) <= 50: | |
break | |
else: | |
print('El nombre debe tener entre 5 y 50 caracteres.') | |
# Solicita y valida los apellidos | |
while True: | |
last_name = input('Ingresa tus apellidos: ') | |
if 5 <= len(last_name) <= 50: | |
break | |
else: | |
print('Los apellidos deben tener entre 5 y 50 caracteres.') | |
# Solicita y valida el número de teléfono | |
while True: | |
telephone = input('Ingresa tu número de teléfono: ') | |
if len(telephone) == 10 and telephone.isdigit(): | |
break | |
else: | |
print('El número de teléfono debe tener 10 dígitos.') | |
# Solicita y valida el correo electrónico | |
while True: | |
email = input('Ingresa tu correo electrónico: ') | |
if 5 <= len(email) <= 50: | |
break | |
else: | |
print('El correo electrónico debe tener entre 5 y 50 caracteres.') | |
# Actualiza la información del usuario en el diccionario | |
users[user_id] = { | |
'first_name': first_name, | |
'last_name': last_name, | |
'telephone': telephone, | |
'email': email | |
} | |
print('La información del usuario ha sido actualizada.') | |
else: | |
print("No existe un usuario con ese ID.") | |
def delete_user(user_id): | |
if user_id in users: | |
del users[user_id] | |
print("El usuario ha sido eliminado.") | |
else: | |
print("No existe un usuario con ese ID.") | |
def list_users(): | |
print("Los identificadores de los usuarios registrados son:", list(users.keys())) | |
while True: | |
print("\nMenú:") | |
print("A.- Registrar nuevos usuarios") | |
print("B.- Listar usuarios") | |
print("C.- Ver información de un usuario") | |
print("D.- Editar información de un usuario") | |
print("E.- Eliminar un usuario") | |
print("F.- Salir del programa") | |
option = input("Elige una opción: ") | |
if option.upper() == 'A': | |
new_user(len(users) + 1) | |
elif option.upper() == 'B': | |
list_users() | |
elif option.upper() == 'C': | |
user_id = int(input("Ingresa el ID del usuario que quieres consultar: ")) | |
show_user(user_id) | |
elif option.upper() == 'D': | |
user_id = int(input("Ingresa el ID del usuario que quieres editar: ")) | |
edit_user(user_id) | |
elif option.upper() == 'E': | |
user_id = int(input("Ingresa el ID del usuario que quieres eliminar: ")) | |
delete_user(user_id) | |
elif option.upper() == 'F': | |
print("Gracias por usar el programa. ¡Hasta luego!") | |
break | |
else: | |
print("Opción no válida. Por favor, elige una opción del menú.") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment