No entiendo cómo funciona el programa para calcular la letra del DNI El número que introduce el usuario se divide por 23 y se obtiene el módulo. Hasta aquí todo claro.
El problema viene porque el array dado tiene 24 elementos: ['T', 'R', 'W', 'A', 'G', 'M', 'Y', 'F', 'P', 'D', 'X', 'B', 'N', 'J', 'Z', 'S', 'Q', 'V', 'H', 'L', 'C', 'K', 'E', 'T']
Así que nunca podrían salir las dos últimas letras, E y T: para ello el módulo (resto) debería ser igual o mayor que el divisor, cosa matemáticamente absurda. Si el resto fuera igual o mayor a 23, aumentaría el cociente en una unidad, quedando resto 0 ó 1.
¿Dónde está el fallo? Gracias, un saludo.