(Python3.7)将以辅音开头的短语中的单词存储在lis中

2024-09-27 19:30:46 发布

您现在位置:Python中文网/ 问答频道 /正文

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

在我的工作中,我必须定义一个函数来表示单词是否以元音或辅音开头。 我试着这样做,但它似乎只适用于第一个元素的元音开始。 你能帮我找出毛病吗?你能给我一个关于第五步的线索吗? Ps:我搜索了这个问题,但只找到了包含.lower之类的操作的解决方案,我不允许使用

我的代码: 开始元音=[]

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))

Tags: in元素列表inputreturnifdef单词
2条回答

这样做有效:

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

我认为你的问题来自你的退货声明的缩进。在循环过程中,如果要将单词附加到列表中,则应在循环结束时返回列表。 代码如下:

def startsVowel(x):
    for s in x:
        if s[0] in b:
            c.append(s)
    return(c)

相关问题 更多 >

    热门问题