Python: caracteres de desplazamiento a la derecha e izquierda en String

A veces, mientras trabajamos con Python Strings, podemos tener un problema en el que tenemos un conteo de caracteres rotado tanto a la derecha como a la izquierda en String y nos gustaría saber la condición resultante de String. Este tipo de problema ocurre en la programación competitiva. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: uso de la multiplicación de strings + división
de strings La combinación de las funciones anteriores se puede utilizar para realizar esta tarea. En esto, multiplicamos la string tres veces, realizamos la concatenación y cortamos selectivamente la string para obtener el resultado requerido.

# Python3 code to demonstrate working of 
# Right and Left Shift characters in String
# Using String multiplication + string slicing
  
# initializing string
test_str = 'geeksforgeeks'
  
# printing original string
print("The original string is : " + test_str)
  
# initializing right rot 
r_rot = 7
  
# initializing left rot 
l_rot = 3
  
# Right and Left Shift characters in String
# Using String multiplication + string slicing
res = (test_str * 3)[len(test_str) + r_rot - l_rot : 
                  2 * len(test_str) + r_rot - l_rot]
  
# printing result 
print("The string after rotation is : " + str(res)) 
Producción :

The original string is : geeksforgeeks
The string after rotation is : sforgeeksgeek

Método n.º 2: usar el operador % y el corte de strings
La combinación de las funcionalidades anteriores también se puede usar para realizar esta tarea. En esto, encontramos el módulo de la diferencia de rotación con la longitud para calcular la posición de la cuerda.

# Python3 code to demonstrate working of 
# Right and Left Shift characters in String
# Using % operator and string slicing
  
# initializing string
test_str = 'geeksforgeeks'
  
# printing original string
print("The original string is : " + test_str)
  
# initializing right rot 
r_rot = 7
  
# initializing left rot 
l_rot = 3
  
# Right and Left Shift characters in String
# Using % operator and string slicing
temp = (r_rot - l_rot) % len(test_str)
res = test_str[temp : ] + test_str[ : temp]
  
# printing result 
print("The string after rotation is : " + str(res)) 
Producción :

The original string is : geeksforgeeks
The string after rotation is : sforgeeksgeek

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 *