Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random # Modulo para usar numeros y funciones aleatorias
- texto = input("Ingrese un texto: ") # Captura el texto por teclado
- texto = texto.split(" ") # Separa el texto por espacios
- respuesta = [] # Lista para almacenar las palabras transformadas
- for palabra in texto: # Ciclo para recorrer palabra por palabra
- if(len(palabra) > 2): # Si la palabra tiene mas de dos caracteres
- primera = palabra[0] # Extrae la primara letra de la palabra
- ultima = palabra[-1] # Extrae la ultima letra de la palabra
- medio = palabra[1:-1] # Extrae lo que queda en el medio
- medio = list(medio) # Combierte el texto de en medio en una lista
- copia = medio[:] # Crea una copia del texto del medio
- while(copia == medio): # Este ciclo trata de garantizat que la copia logre ser diferente del medio original
- random.shuffle(copia) # Desordena aleatoriamente el texto del medio
- contraste = copia[0] # Variable de contraste para evitar que el ciclo sea infinito si todas las letras son iguales
- for letra in copia: # Recorre cada letra de la copia
- if contraste != letra: # Si encuentra una letra diferente
- contraste = None # El contraste se anula
- break # Sale del ciclo de prueba
- if(contraste != None): # Si el contraste no se ha anulado, implica que todas las letras son iguales
- break # Rompe el ciclo while, pues es imposible que copia llegue a ser diferente de medio
- medio = "".join(copia) # Une las letras desordenadas de nuevo en una cadena de texto
- respuesta.append(primera+medio+ultima) # Agrega la palabra procesada a la lista de respuestas
- else:
- respuesta.append(palabra) # Agrega la palabra sin procesar a la lista de respuestas
- respuesta = " ".join(respuesta) # Une las palabras de lista de respuestas mediante espacios
- print(">>", respuesta) # Imprime la respuesta
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement