Dada una string, agregue K cuando ocurra un cambio de caso.
Entrada : test_str = ‘GeeKSforGeEKs’, K = ‘*’
Salida : G*ee*KS*for*G*e*EK*s
Explicación : Después de G, el carácter e en minúscula está presente, * se inserta en el medio. Lo mismo ocurre con cada inserción.Entrada : test_str = ‘GeeKS’, K = ‘*’
Salida : G*ee*KS
Explicación : insertado en los cambios de mayúsculas y minúsculas, como se explica.
Método #1: Usando loop + isupper() + islower()
En esto, iteramos para cada elemento y verificamos en cada elemento si el siguiente es de un caso diferente, si es así, se agrega K en la unión.
Python3
# Python3 code to demonstrate working of # Add K between case shifts # Using loop + isupper() + islower() import re # initializing string test_str = 'GeeKSforGeEKs' # printing original string print("The original string is : " + str(test_str)) # initializing K K = '^' res = "" for idx in range(0, len(test_str) - 1): # checking for case shift if test_str[idx].isupper() and test_str[idx + 1].islower() or test_str[idx].islower() and test_str[idx + 1].isupper(): res = res + test_str[idx] + K else: res = res + test_str[idx] res = res + test_str[-1] # printing result print("String after alteration : " + str(res))
The original string is : GeeKSforGeEKs String after alteration : G^ee^KS^for^G^e^EK^s
Método #2: Usar la comprensión de listas
Otra forma de resolver este problema, solo proporciona una abreviatura del método anterior.
Python3
# Python3 code to demonstrate working of # Add K between case shifts # Using loop + isupper() + islower() # initializing string test_str = 'GeeKSforGeEKs' # printing original string print("The original string is : " + str(test_str)) # initializing K K = '^' # join() to get result string res = ''.join([test_str[idx] + K if (test_str[idx].isupper() and test_str[idx + 1].islower()) or (test_str[idx].islower() and test_str[idx + 1].isupper()) else test_str[idx] for idx in range(0, len(test_str) - 1)]) res += test_str[-1] # printing result print("String after alteration : " + str(res))
The original string is : GeeKSforGeEKs String after alteration : G^ee^KS^for^G^e^EK^s
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