¿cómo separar palabras de una cadena en Python?

publicado por: Anonymous

queria saber si me pueden ayudar, recien estoy empezando en programacion y en tres dias tengo examen y ando medio perdido. Tengo que realizar este programa y me cuesta empezar, SOLO NOS DEJAN USAR FOR, WHILE, IF, ELSE, LEN(), STR Y NADA MAS, no se si me podrían ayudar

Hacer un programa que pida el ingreso de una frase y de como salida una nueva frase
donde en cada palabra estarán primeros sus consonantes, luego sus vocales y por último un número aleatorio.

Especificaciones:

  1. Las consonantes (o caracteres especiales) deberán verse en minúsculas y en el orden en que aparecen en la palabra.
  2. Las vocales deberán estar en mayúsculas y en el orden inverso en que aparecen en cada palabra de la frase.
  3. Los espacios se reemplazarán con un número aleatorio entre 10 y 99 seguido por un espacio en blanco.

Ejemplo:

frase = “caracoles desafiantes e irrespetuosos!”
salida = “crclsEOAA41 dsfntsEAIAE98 E91 rrsptss!OOUEEI54”

solución

El # coding=utf-8 es por si deseas utilizar el alfabeto español o las tildes en las letras aáAÁeéEÉiíIÍoóOÓuúUÚ.

    # coding=utf-8
    import random
    frase="caracoles desafiantes e irrespetuosos! "
    nueva_frase=""
    consonantes=""
    vocales=""
    espacio=""
    palabra=""
    convinaciones='aáAÁeéEÉiíIÍoóOÓuúUÚ'
    i=0
    for f in frase:
        i+=1
        if (f==" " or i==len(frase)) :
            palabra=palabra+f
            for x in palabra:
                if x in convinaciones:
                        vocales=x.upper()+vocales 
                elif x==" ":
                    espacio=str(random.randint(10, 99))+ " "
                else:
                    consonantes=consonantes+x.lower()
            nueva_frase=nueva_frase+(consonantes+vocales+espacio)
            consonantes=""
            vocales=""
            espacio=""  
            palabra=""  
        else:
            palabra=palabra+f


    print(nueva_frase)  

Resultado:

crclsEOAA44 dsfntsEAIAE23 E27 rrsptss!OOUEEI80
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *