Generation

fix invalid codeSat, 22 Apr 2023

while True: print("\n+========= MENU PRINCIPAL ==========+") print("| 1.Registrar nuevo usuario |") print("| 2.Usuario registrado |") print("| 3.Configuración avanzada |") print("| 4.Salir |") print("+===================================+") opcion = input('Seleccione una opcion: ') intentos = 0 if opcion == const.registrarUsuario: # opcion para registrase como nuevo usuario # registrarUsuario(intentos_1) while intentos < const.maximoIntentos: # numero de intentos para ingresar cedula correcta # solicitud de cedula cedula = input("Ingrese su cedula\nLa cedula debe constar de 9 numeros.\n") #solicitud de cedula if len(cedula) == 9: # cedula correcta intentos = 3 ruta = f"{const.carpetaUsuarios}/{cedula}" print("Cedula aceptada") if os.path.isfile(ruta): print( f"Ya existe una cuenta asociada a la cédula: {cedula}.") #Usuario digita una cedula que ya se encontraba en el sistema break else: #Solicitarle el nombre y apellidos al usuario nombre = input("Ingrese primer nombre\n") apellido1 = input("Ingrese primer apellido\n") apellido2 = input("Ingrese segundo apellido\n") while True: pinIngresado = getpass.getpass("Ingrese un PIN de 4 caracteres.") #Solicitud del PIN if len(pinIngresado) == 4: print("Pin aceptado.") while True: pinConfirmacion = getpass.getpass("Confirme su PIN.") #Confirmacion del PIN if pinIngresado == pinConfirmacion: rutaArchivos = ruta print(f"El usuario {cedula} ha sido creado con éxito.") #AGREGAR LA FUNCION DEL DEPOSITO tasaDeCambio = {"colones": 1, "bitcoin": 100, "dólares": 500} #se define las tasas de cambio de diferentes monedas con respecto a los colones. intentos = 3 #El usuario solo tendra 3 intentos para digitar el monto minimo correcto while intentos > 0: print("Para poder ser un usuario de Global Bank Inc, debe realizar un depósito mínimo de 100,000 colones o equivalente en otra moneda.") #Imprimir un mensaje educando al usuario con el monto minimo print("Ingrese el tipo de moneda a utilizar:\n1-Colones\n2-Dólares\n3-Bitcoins\n") #Desplegar el menu de las opciones monedas =("colones", "dólares", "bitcoin") #opciones de moneda disponibles. monedaValida = False moneda = None while not monedaValida: #Se inicia un bucle while que se ejecutará mientras la variable monedaValida sea falsa. try: moneda = monedas[int(input()) - 1] # Se intenta obtener la opción de moneda seleccionada por el usuario a través de la entrada por teclado. Si se ingresa un valor no válido (que no sea 1, 2 o 3), se captura la excepción y se muestra un mensaje de error. monedaValida = True #Si se obtiene una opción de moneda válida, se cambia el valor de la variable monedaValida a True para salir del bucle. except (ValueError, IndexError): #En caso de obtener un error, para hacerlo facil de entender al usuario, se le educara imprimiendo un mensaje. print("Moneda inválida, por favor intente de nuevo.") #Se calcula el monto mínimo requerido para el depósito en la moneda seleccionada por el usuario. montoMinimo = const.montoMinimo /tasaDeCambio[moneda] if moneda == "bitcoin": #Si la opción de moneda seleccionada es bitcoin, se cambia el valor del monto mínimo requerido a 0.0062. montoMinimo = 1000 #Se solicita al usuario que ingrese el monto que desea depositar. Se muestra en pantalla el monto mínimo requerido para el depósito en la moneda seleccionada. montoADepositar = float(input(f"Ingrese el monto que desea depositar (el monto mínimo es {montoMinimo} {moneda}):")) if montoADepositar < montoMinimo: #Si el monto ingresado por el usuario es menor que el monto mínimo requerido, se muestra un mensaje de error y se reduce el número de intentos en 1. intentos -= 1 print(f"Debe depositar al menos {montoMinimo:.1f} {moneda}, por favor intente de nuevo. Le quedan {intentos} intentos.") if intentos == 0: print("Ha superado el número máximo de intentos permitidos. Volviendo al menu principal") #VOLVER AL PROGRAMA PRINCIPAL if montoADepositar >= montoMinimo: print(f"El monto {montoADepositar:.1f} {moneda} ha sido depositado con éxito. ¡Gracias por confiar en Global Bank Inc!") break SystemExit # abre el archivo en modo escritura y lo guarda en la variable "archivo" with archivos.abrirArchivo(const.carpetaUsuarios, cedula, "w") as archivo: # escribe cada variable en una línea separada archivo.writelines([ f"{cedula}\n", f"{nombre}\n", f"{apellido1}\n", f"{apellido2}\n", f"{pinIngresado}\n" f"{moneda}\n" f"{montoADepositar}\n" f"{}\n" ]) break elif pinIngresado != pinConfirmacion: print("PIN no coincide.") else: pass break else: print("Error.") print("El PIN debe constar de 4 numeros.") else: # no se cumple con requerimientos de cedula intentos += 1 if len(cedula) > 9: # Cedula mayor de 9 digitos print("Los digitos de la cedula no pueden exceder 9 digitos, intentalo nuevamente.\n") elif len(cedula) < 9: # Cedula menor de 9 digitos print("Los digitos de la cedula no pueden ser menores de 9 digitos, intentalo nuevamente.\n") else: break intentos = intentos + 1 if intentos == 3: print( """Se excedió el máximo de intentos para ingresar un numero de cedula valido, volviendo al menú principal...""" )

fix invalid code:

Questions about programming?Chat with your personal AI assistant