ASIX-M3-UF1-A4.1- Solucions Exercicis cadenes
De wikiserver
La revisió el 19:40, 24 nov 2020 per Rsort (Discussió | contribucions)
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!")
3. Genera un programa que encripti una cadena de caràcters. Per exemple: '“avadakedavra”' encriptat es '“bwbeblfebwsb”' i el mètode d’encriptació és canviar un caràcter pel seu successor a l’abecedari (el successor de ‘z’ és ‘a’).
print("Encriptació d'una cadena")
# Constants
LLETRES = "abcdefghijklmnopqrstvwxyza"
# Demanem cadena a encriptar
cadena = input("Introdueix la cadena a encriptar: ")
# Encriptació
cadenaEncriptada =""
for carac in cadena:
posCaracter = LLETRES.find(carac)
cadenaEncriptada += LLETRES[posCaracter+1]
# Mostrar el text encriptat
print("Cadena encriptada:", cadenaEncriptada)