Dada una String, el siguiente programa convierte el carácter alfabético alrededor de cualquier dígito a mayúsculas.
Entrada : test_str = ‘geeks4geeks is best1 f6or ge8eks’
Salida : geekS4Geeks is best1 F6Or gE8Ek
Explicación : S y G están en mayúsculas rodeadas por 4.
Entrada : test_str = ‘geeks4geeks best1 f6or ge8eks’
Salida : geekS4Geeks best1 F6Or gE8Ek
Explicación : S y G están en mayúsculas rodeadas por 4.
Método 1: Usar upper() , loop e isdigit()
En esto, iteramos para cada carácter, verificamos si es un dígito y, si lo es, transformamos los alfabetos circundantes (el siguiente y el anterior) a mayúsculas usando upper().
Python3
# initializing string test_str = 'geeks4geeks is best1 for ge8eks' # printing original string print("The original string is : " + str(test_str)) res = '' for idx in range(len(test_str) - 1): if test_str[idx + 1].isdigit() or test_str[idx - 1].isdigit(): res += test_str[idx].upper() else: res += test_str[idx] #Adding last index character else: res += test_str[idx+1] # printing result print("Transformed String : " + str(res))
Producción:
La string original es: geeks4geeks es best1 para ge8eks
String transformada: geekS4Geeks es best1 para gE8Ek
Método 2: Usar la comprensión de listas
Esto es similar al método anterior, la única diferencia es que el siguiente aborda el mismo problema en una sola línea.
Python3
# initializing string test_str = 'geeks4geeks is best1 for ge8eks' # printing original string print("The original string is : " + str(test_str)) # list comprehension offering 1 liner solution res = [test_str[idx].upper() if test_str[idx + 1].isdigit() or test_str[idx - 1].isdigit() else test_str[idx] for idx in range(len(test_str) - 1)] res = res + list(test_str[-1]) # printing result print("Transformed String : " + ''.join(res))
Producción:
La string original es: geeks4geeks es best1 para ge8eks
String transformada: geekS4Geeks es best1 para gE8Ek
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