Python | Alternar caracteres en palabras que tienen el mismo caso

Dada una string, alterne los caracteres de aquellas palabras que tienen todos sus caracteres en el mismo caso.

Ejemplos:

Entrada: Geeks for Geeks
Salida: Geeks FOR Geeks
Explicación: La string contiene tres palabras “Geeks”, “for”, “Geeks” de las cuales la palabra “for” contiene todos sus caracteres en minúsculas, por lo tanto, alterne el caso de la palabra. Imprima los caracteres restantes tal como están.

Entrada : HOLA mundo
Salida : hola MUNDO

Enfoque simple:
considere cada palabra de la string por separado. Establezca dos banderas, una para verificar si todos los casos de los caracteres son iguales y otra para verificar si los caracteres están en mayúsculas o minúsculas.

if all the characters are in the same case 
    if all the characters are lower case 
       then convert into upper case
    else convert into lower case
else print the same word

A continuación se muestra la implementación:

# Python program to toggle character in 
# a string only with same case
  
# Function to toggle case 
def toggle(s):
      
    word_list = s.split()
      
    # traverse through each word of the string
    for word in word_list:
          
        # initially assume all the characters in word
        # are in the same case and set the flag to 1
        flag = 1
          
        # check the case of the first
        # character in the word
        if word[0].islower():
              
            # if the case is lower set the r value to 1
            r = 1
              
            # traverse through the remaining 
            # characters in the word
            for j in word:
                  
                # if any of the characters are in upper case
                if j.isupper():
                      
                    # then set the flag to 0
                    flag = 0
                    break
                  
        else:
            # if the case is upper 
            # set the r value to 1
            r = 0
              
            # traverse through the remaining
            # characters in the word
            for j in word:
                  
                # if any of the characters are in lower case
                if j.islower():
                      
                    # then set the flag to 0
                    flag = 0
                    break
          
        # if the flag is 0 then print the word as it is     
        if flag == 0: print(word, end =" ")
      
        else:
            # if the word is in lower case 
            # then print the word in upper case
            if r == 1: print(word.upper(), end =" ")
              
            # if the word is in upper case 
            # then print the word in lower case
            else: print(word.lower(), end =" ")
              
# driver code
s = 'Geeks for Geeks'
toggle(s)
Producción:

Geeks FOR Geeks

Uso de las funciones de la biblioteca:
también podemos usar las funciones directas de la biblioteca para verificar si las palabras individuales están más abajo o más arriba.

# Python program to toggle character in 
# a string only with same case
  
# Function to toggle case 
def toggle(s):
      
    word_list = s.split()
      
    # traverse through each word of the string
    for word in word_list:
          
        if word.islower() :
            print(word.upper(), end =" ")
        elif word.isupper() :
            print(word.lower(), end =" ")
        else :
            print(word, end =" ")
              
# driver code
s = 'Geeks for Geeks'
toggle(s)
Producción:

Geeks FOR Geeks

Publicación traducida automáticamente

Artículo escrito por SanjayR 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 *