En los ejemplos de ejecución, el texto en verde representa datos ingresados por teclado. Lee el enunciado completo antes de comenzar a codificar.
Validador de contraseñas
3 puntos
Una empresa de desarrollo web necesita un programa que evalúe la solidez de las contraseñas ingresadas por sus usuarios.
El programa debe comenzar pidiendo al usuario que indique cuántas contraseñas desea verificar. Este número debe ser un entero positivo; si se ingresa cualquier otro valor (texto, decimal, etc.) se debe mostrar el mensaje "Debe ingresar un número entero positivo." y repetir la solicitud.
Luego, para cada contraseña, el programa debe verificar si cumple todas las siguientes condiciones:
- Tiene al menos 8 caracteres de largo.
- Contiene al menos una letra mayúscula (usa el método
.upper()o recorre la cadena). - Contiene al menos un dígito numérico.
- No contiene espacios en blanco.
Si la contraseña cumple todas las condiciones → "Contraseña segura."
Si no cumple alguna → "Contraseña débil." e indica cuál condición falla (solo la primera que encuentres).
- Mostrar cuántas contraseñas resultaron seguras.
- Mostrar cuántas resultaron débiles.
- Mostrar la contraseña más larga que fue ingresada (independientemente de si es segura o no).
¿Cuántas contraseñas desea verificar? dos Debe ingresar un número entero positivo. ¿Cuántas contraseñas desea verificar? 3.5 Debe ingresar un número entero positivo. ¿Cuántas contraseñas desea verificar? 3 Ingrese contraseña 1: hola Contraseña débil. Motivo: largo insuficiente (mínimo 8 caracteres). Ingrese contraseña 2: MiClave123 Contraseña segura. Ingrese contraseña 3: sinmayuscula8 Contraseña débil. Motivo: no contiene mayúsculas. --- Resumen --- Contraseñas seguras : 1 Contraseñas débiles : 2 Contraseña más larga : sinmayuscula8
try / except). Si el usuario ingresa un tipo de dato inválido para el número inicial, el programa debe repetir la solicitud hasta obtener un entero positivo.
Sistema de caja de farmacia
3 puntosUna farmacia necesita un programa de caja simple para registrar ventas durante un turno. El programa debe mostrar el siguiente menú en bucle hasta que el cajero decida cerrar el turno:
*** SISTEMA DE CAJA - FARMACIA ***
1. Registrar venta.
2. Ver total acumulado.
3. Ver cantidad de ventas.
4. Cerrar turno.
-
Opción 1 – Registrar venta: pide el nombre del producto (no puede estar vacío ni ser solo espacios) y su precio (número real mayor a 0). Ambos datos deben validarse con
try/except. Si el precio no es un número o es ≤ 0, debe mostrar el mensaje correspondiente y volver a pedir el dato. Si todo es correcto muestra:"Venta registrada: [nombre] - $[precio]". -
Opción 2 – Ver total acumulado: muestra la suma de todos los precios registrados. Si no hay ventas, muestra
"No se han registrado ventas aún.". -
Opción 3 – Ver cantidad de ventas: muestra cuántas ventas se han registrado. Si no hay ventas, muestra
"No se han registrado ventas aún.". -
Opción 4 – Cerrar turno: muestra el total recaudado y la cantidad de ventas, luego termina con
"Turno cerrado. Hasta pronto.". -
Opción inválida: cualquier otro ingreso muestra
"Opción no válida. Intente nuevamente."y repite el menú.
*** SISTEMA DE CAJA - FARMACIA *** 1. Registrar venta. 2. Ver total acumulado. 3. Ver cantidad de ventas. 4. Cerrar turno. Elija opción: 2 No se han registrado ventas aún. *** SISTEMA DE CAJA - FARMACIA *** 1. Registrar venta. 2. Ver total acumulado. 3. Ver cantidad de ventas. 4. Cerrar turno. Elija opción: 1 Ingrese nombre del producto: Paracetamol 500mg Ingrese precio: abc Debe ingresar un precio válido (número mayor a 0). Ingrese precio: -200 Debe ingresar un precio válido (número mayor a 0). Ingrese precio: 1490 Venta registrada: Paracetamol 500mg - $1490.0 *** SISTEMA DE CAJA - FARMACIA *** 1. Registrar venta. 2. Ver total acumulado. 3. Ver cantidad de ventas. 4. Cerrar turno. Elija opción: 1 Ingrese nombre del producto: El nombre del producto no puede estar vacío. Ingrese nombre del producto: Ibuprofeno 400mg Ingrese precio: 990 Venta registrada: Ibuprofeno 400mg - $990.0 *** SISTEMA DE CAJA - FARMACIA *** 1. Registrar venta. 2. Ver total acumulado. 3. Ver cantidad de ventas. 4. Cerrar turno. Elija opción: 3 Cantidad de ventas: 2 *** SISTEMA DE CAJA - FARMACIA *** 1. Registrar venta. 2. Ver total acumulado. 3. Ver cantidad de ventas. 4. Cerrar turno. Elija opción: 7 Opción no válida. Intente nuevamente. *** SISTEMA DE CAJA - FARMACIA *** 1. Registrar venta. 2. Ver total acumulado. 3. Ver cantidad de ventas. 4. Cerrar turno. Elija opción: 4 --- Resumen del turno --- Total recaudado : $2480.0 Ventas realizadas: 2 Turno cerrado. Hasta pronto.
try / except. Para el nombre del producto usa el método .strip() para detectar cadenas vacías o solo con espacios.