首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(Python3.7)获取以辅音开头的短语中的单词,并将它们存储在列表中

(Python3.7)获取以辅音开头的短语中的单词,并将它们存储在列表中
EN

Stack Overflow用户
提问于 2018-11-18 00:53:13
回答 2查看 51关注 0票数 0

我想做一个程序:1.将一个短语作为字符串接收,并将其转换为单词列表。2.检查列表中的每个元素(单词)是以元音开头还是以辅音开头。3.将以元音开头的单词存储在列表中,将以辅音开头的单词存储在另一个列表中。4.颠倒以辅音开头的单词中字母的顺序。5.显示与第一个相似的短语,辅音开头的单词颠倒,元音开头的单词保持不变。

在我的工作中,我必须定义一个函数来判断单词是以元音还是辅音开头。我试着这样做,但它似乎只对以元音开头的第一个元素有效。你能帮我找出哪里出了问题吗?你能给我提供一个关于第五步的线索吗?Ps:我搜索了这个问题,但只找到了包含.lower之类的操作的解决方案,我不允许使用这些操作。

我的代码: startsVowel=[]

代码语言:javascript
复制
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))
EN

回答 2

Stack Overflow用户

发布于 2018-11-18 01:06:19

这是可行的:

代码语言:javascript
复制
s = input('Sentence: ')

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

这会将句子拆分成单词,检查单词是以辅音还是元音开头。然后,这将颠倒所有以辅音开头的单词(以元音开头的单词保持不变),并形成句子。

运行的示例

代码语言:javascript
复制
Sentence: Apple Ball Cat Dog Elephant
Apple llaB taC goD Elephant
票数 0
EN

Stack Overflow用户

发布于 2018-11-18 01:08:05

我认为您的问题来自于返回语句的缩进。在循环过程中,您正在将单词追加到列表中,您应该在循环结束时返回该列表。代码如下所示:

代码语言:javascript
复制
def startsVowel(x):
    for s in x:
        if s[0] in b:
            c.append(s)
    return(c)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53353390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档