我想做一个程序:1.将一个短语作为字符串接收,并将其转换为单词列表。2.检查列表中的每个元素(单词)是以元音开头还是以辅音开头。3.将以元音开头的单词存储在列表中,将以辅音开头的单词存储在另一个列表中。4.颠倒以辅音开头的单词中字母的顺序。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))发布于 2018-11-18 01:06:19
这是可行的:
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发布于 2018-11-18 01:08:05
我认为您的问题来自于返回语句的缩进。在循环过程中,您正在将单词追加到列表中,您应该在循环结束时返回该列表。代码如下所示:
def startsVowel(x):
for s in x:
if s[0] in b:
c.append(s)
return(c)https://stackoverflow.com/questions/53353390
复制相似问题