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!")

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)