Skip to content

Instantly share code, notes, and snippets.

@CarlosRomero55
Created February 9, 2024 02:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save CarlosRomero55/205a529e03ce40377c9101eac7d1f311 to your computer and use it in GitHub Desktop.
Save CarlosRomero55/205a529e03ce40377c9101eac7d1f311 to your computer and use it in GitHub Desktop.
Puntualmente 4 nuevas funcionalidades. Aquí van
usuarios = []
identificadores = []
contador = 1
def validar_longitud(cadena, min_longitud, max_longitud):
return min_longitud <= len(cadena) <= max_longitud
def validar_telefono(telefono):
return len(telefono) == 10 and telefono.isdigit()
def validar_correo(correo):
return '@' in correo and '.' in correo
def agregar_usuario():
global contador
global usuarios
global identificadores
nombre = input("Ingrese su nombre: ")
apellidos = input("Ingrese sus apellidos: ")
telefono = input("Ingrese su número de teléfono (10 dígitos): ")
correo = input("Ingrese su correo electrónico: ")
while not (validar_longitud(nombre, 5, 50) and validar_longitud(apellidos, 5, 50) and validar_telefono(telefono) and validar_longitud(correo, 5, 50) and validar_correo(correo)):
print("Ha ingresado datos incorrectos. Por favor, inténtelo nuevamente.")
nombre = input("Ingrese su nombre: ")
apellidos = input("Ingrese sus apellidos: ")
telefono = input("Ingrese su número de teléfono (10 dígitos): ")
correo = input("Ingrese su correo electrónico: ")
usuario = {"ID": contador, "Nombre": nombre, "Apellidos": apellidos, "Teléfono": telefono, "Correo electrónico": correo}
usuarios.append(usuario)
identificadores.append(contador)
contador += 1
print("Usuario registrado exitosamente.")
def listar_usuarios():
if usuarios:
for usuario in usuarios:
print(usuario)
else:
print("No hay usuarios registrados aún.")
def consultar_usuario():
if usuarios:
id_consulta = int(input("Ingrese el ID del usuario que desea consultar: "))
encontrado = False
for usuario in usuarios:
if usuario["ID"] == id_consulta:
print(usuario)
encontrado = True
break
if not encontrado:
print("No se encontró ningún usuario con ese ID.")
else:
print("No hay usuarios registrados aún.")
def editar_usuario():
if usuarios:
id_edicion = int(input("Ingrese el ID del usuario que desea editar: "))
encontrado = False
for usuario in usuarios:
if usuario["ID"] == id_edicion:
print("Ingrese los nuevos datos del usuario:")
nombre = input("Nuevo nombre: ")
apellidos = input("Nuevos apellidos: ")
telefono = input("Nuevo número de teléfono (10 dígitos): ")
correo = input("Nuevo correo electrónico: ")
while not (validar_longitud(nombre, 5, 50) and validar_longitud(apellidos, 5, 50) and validar_telefono(telefono) and validar_longitud(correo, 5, 50) and validar_correo(correo)):
print("Ha ingresado datos incorrectos. Por favor, inténtelo nuevamente.")
nombre = input("Nuevo nombre: ")
apellidos = input("Nuevos apellidos: ")
telefono = input("Nuevo número de teléfono (10 dígitos): ")
correo = input("Nuevo correo electrónico: ")
usuario["Nombre"] = nombre
usuario["Apellidos"] = apellidos
usuario["Teléfono"] = telefono
usuario["Correo electrónico"] = correo
print("Usuario editado exitosamente.")
encontrado = True
break
if not encontrado:
print("No se encontró ningún usuario con ese ID.")
else:
print("No hay usuarios registrados aún.")
def menu():
print("\nMENU:")
print("A.- Registrar nuevo usuario")
print("B.- Listar usuarios")
print("C.- Consultar usuario por ID")
print("D.- Editar usuario por ID")
print("E.- Salir")
def main():
global usuarios
while True:
menu()
opcion = input("Seleccione una opción (A/B/C/D/E): ").upper()
if opcion == 'A':
agregar_usuario()
elif opcion == 'B':
listar_usuarios()
elif opcion == 'C':
consultar_usuario()
elif opcion == 'D':
editar_usuario()
elif opcion == 'E':
print("¡Hasta luego!")
break
else:
print("Opción no válida. Por favor, seleccione una opción válida.")
if __name__ == "__main__":
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment