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