(Python3.7) взять слова фразы, которые начинаются с согласного, и сохранить их в списке - PullRequest
0 голосов
/ 17 ноября 2018

Я хотел сделать программу, которая: 1. Получил фразу в виде строки и превратил ее в список слов 2. проверяется, если каждый элемент (слово) этого списка начинается с гласной или согласной 3. Сохраненные слова начинаются с гласной в списке, а слова начинаются с согласной в другом списке 4. Обратный порядок букв в словах начинается с согласного 5. Показана последняя фраза, аналогичная первой, слова, начинающиеся с согласных, меняются местами, а гласные - без изменений.

В моей работе мне нужно было определить функцию, которая говорит, начинается ли слово с гласного или согласного. Я попытался сделать это, но это только показалось, что первый элемент начался с гласной. Можете ли вы помочь мне выяснить, что не так? Можете ли вы дать мне подсказку о 5-м шаге? PS: Я ищу эту проблему, но нашел только решения, включающие такие операции, как .lower, которые мне не разрешено использовать.

Мой код: startsVowel = []

startsConsonant=[]

vowels=["a","e","i","o","u","A","E","I","O","U"]

i=input()

def detectWords(input):
    x=input.split(" ")
    return x
print(detectWords(i))

def VowelBeginning(x):
   for s in x:
       a=list(s)
       if a[0] in vogais:
            startsVowel.append(s)
            print(startsVowels)
       return(startsVowels)

       if a[0] not in vowels:
           startsConsonant.append(s)
        print(startsConsonant)
    return(startsConsonant)
print(VowelBeginning(i))

Ответы [ 2 ]

0 голосов
/ 17 ноября 2018

Я думаю, что ваша проблема связана с отступом в вашем заявлении о возврате. Во время цикла вы добавляете слова в список, вы должны вернуть список в конце цикла. С кодом, похожим на:

def startsVowel(x):
    for s in x:
        if s[0] in b:
            c.append(s)
    return(c)
0 голосов
/ 17 ноября 2018

Это работает:

s = input('Sentence: ')

print(' '.join([x if x.lower().startswith(('a', 'e', 'i', 'o', 'u')) else x[::-1] for x in s.split()]))

Это разбивает предложение на слова, проверяет, начинается ли слово с согласного или гласного. Это тогда полностью изменяет все слова, которые начинаются с согласного (те, которые начинаются с гласного, неизменны) и формирует предложение назад.

Пробный прогон :

Sentence: Apple Ball Cat Dog Elephant
Apple llaB taC goD Elephant
...