ASIX-M3-UF1-A4.1- Solucions Exercicis cadenes

De wikiserver
Dreceres ràpides: navegació, cerca

1. L’última lletra del DNI pot calcular-se a partir del seus números. Per a això només has de dividir el número per 23 i quedar-te amb la resta. Fes un programa per calcular la lletra d’un DNI. La lletra que correspon a cada número la tens en aquesta taula:

    0 - T
    1 - R
    2 - W
    3 - A
    4 - G
    5 - M
    6 - Y
    7 - F
    8 - P
    9 - D
   10 - X
   11 - B
   12 - N
   13 - J
   14 - Z
   15 - S
   16 - Q
   17 - V
   18 - H
   19 - L
   20 - C
   21 - K
   22 – E
print("Obtenció lletra DNI")

# Constants
NUMLLETRES = 23
LLETRESDNI = "TRWAGMYFPDXBNJZSQVHLCKE"

# Demanem número DNI
numDNI = int(input("Introdueix número d'un DNI: "))

# Càlcul de la posició de la lletra 
numCalcul = numDNI % NUMLLETRES

# Mostrar la lletra
print("El número de DNI: %d li correspon la lletra: %s" %(numDNI,LLETRESDNI[numCalcul]))

2. Fes un programa per que verifiqui que la lletra d’un DNI es correspon amb el seu número:

print("Verificació lletra DNI")

# Constants
NUMLLETRES = 23
LLETRESDNI = "TRWAGMYFPDXBNJZSQVHLCKE"

# Demanem DNI
dni = input("Introdueix un DNI: ")

# Lletra i número del DNI
lletraDNI = dni[-1]
numDNI = int(dni[:-1])

# Càlcul de la posició de la lletra 
numCalcul = numDNI % NUMLLETRES

# Verificació
if lletraDNI == LLETRESDNI[numCalcul]:
  print("ÉS correcte!")
else:
  print("És incorrecte!")