Skip to content

Instantly share code, notes, and snippets.

@jlcarrascof
Created February 12, 2024 17:43
Show Gist options
  • Save jlcarrascof/714c8a9b5123c1391cccf51e708908c3 to your computer and use it in GitHub Desktop.
Save jlcarrascof/714c8a9b5123c1391cccf51e708908c3 to your computer and use it in GitHub Desktop.
Codigo Facilito Python Challenge - Day 5
# 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