Python – Caracteres de cambio inverso por K

Dada una String, invierta el desplazamiento de cada carácter de acuerdo con su posición alfabética por K, incluido el desplazamiento cíclico.

Entrada : test_str = ‘bccd’, K = 1 
Salida : abbc 
Explicación : 1 alfabeto antes de b es ‘a’ y así sucesivamente.
Entrada : test_str = ‘bccd’, K = 2 
Salida : zaab 
Explicación : 2 letras antes de b es ‘z’ (redondeada) y así sucesivamente. 
 

Método: Usar maketrans() + upper() + lista de comprensión + translate() + rebanar

En esto, hacemos una tabla de traducción para cada carácter a su versión K desplazada usando maketrans() y rebanado. upper() se usa para manejar todos los caracteres en mayúsculas, translate() se usa para realizar la traducción de acuerdo con la tabla de traducción de búsqueda creada por maketrans().

Python3

# Python3 code to demonstrate working of
# Reverse Shift characters by K
# using maketrans() + upper() + list comprehension + translate() + slicing
 
# initializing string
test_str = 'GeeksForGeeks'
 
# printing original String
print("The original string is : " + str(test_str))
 
# initializing K
K = 10
 
alpha_chars = 'abcdefghijklmnopqrstuvwxyz'
 
# converted to uppercase
alpha_chars2 = alpha_chars.upper()
 
# maketrans used for lowercase translation
lower_trans = str.maketrans(alpha_chars, alpha_chars[ -K:] + alpha_chars[ : -K])
 
# maketrans used for uppercase translation
upper_trans = str.maketrans(alpha_chars2, alpha_chars2[ -K:] + alpha_chars2[ : -K])
 
# merge lookups
lower_trans.update(upper_trans)
 
# make translation from lookups
res = test_str.translate(lower_trans)
 
# printing result
print("The converted String : " + str(res))
Producción

The original string is : GeeksForGeeks
The converted String : WuuaiVehWuuai

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *