Reto: Letra del DNI
Generar primero una lista con los números entre 0 y 10, luego generar otra lista con los números del 11 al 20. Unir ambas lista e imprimir el resultado.
En España el DNI (Documento Nacional de Identidad) tiene un número y una letra de control que se obtiene mediante un sencillo algoritmo: Wikipedia.
Método 1
Solicitamos a usuario el número del DNI. Definimos el string que contiene la secuencia de letras utilizadas en el algoritmo: TRWAGMYFPDXBNJZSQVHLCKE. Imprimimos la letra del DNI que se calcula obteniendo el resto, módulo o resíduo de dividir el DNI entre 23. El resto varia entre 0, que supone división exacta, y 22. Consultamos la palabra para ver el caracter que corresponde. Si el resto es cero corresponde una T y si es 22 corresponde una E.n=int(input("Introduzca el número del DNI:"))
palabra='TRWAGMYFPDXBNJZSQVHLCKE'
print('La letra del DNI es: ', palabra[n%23])
Método 2
En este caso trabajamos con una lista en lugar de usar un string. Tambíen hemos incluido al incio unas líneas conreplace
que eliminarán los puntos o espacios que el usuario introduzca junto con el número del DNI.x=input("Introduzca el número del DNI: ")
x=x.replace(' ','')
x=x.replace('.','')
x=int(x)
lista=['T','R','W','A','G','M','Y','F','P','D','X','B','N','J','Z','S','Q','V','H','L','C','K','E']
print(x)
print('La letra del DNI es: ', lista[x%23])
#One line
ResponderEliminarprint('La letra del DNI es:','TRWAGMYFPDXBNJZSQVHLCKE'[int(input("Introduzca el número del DNI:"))%23])
def letradni(dni):
ResponderEliminarletras='TRWAGMYFPDXBNJZSQVHLCKE'
return dni,letras[dni%23]
También puedes usar el paquete de Python llamado dni. Se installa con un: "pip install dni".
ResponderEliminarhttps://github.com/pmartincalvo/dni
como lo responderias en c++?, gracias
ResponderEliminar