几天来一直在解决这个小问题,我不知道我是否全错了或者只是错过了一些东西。
目标:从句子中的每个单词中 - 找到第一个元音,从单词中删除该元音后面的字母,并将剩余字母乘以 3。
这个例子:如果我有一句话:“Hello World”,想要的输出应该是“HeHeHe WoWoWo”。
My Code:
def bebis(inrad):
utrad = ""
inrad = inrad.split()
for tkn in inrad:
for tkn1 in tkn: #Eftersom tkn ar ordlista nu.
if tkn1 in vokaler:
count = len(tkn1)
utrad += tkn1
elif tkn1 in konsonanter:
utrad += tkn1
return utrad[:count+1]*3
print("Bebisspraket:",bebis(inrad))
我的想法:我使用 split() 将句子分成单词列表。然后我使用两个 for 循环,一个应该遍历每个单词,另一个应该遍历每个单词中的每个字母。如果找到元音,计算它在哪里,然后将字母返回到单词的第一个元音。
我的问题:输出只给出句子中的第一个单词,然后从那里中断。所以“Hello World”产生“HeHeHe”让我非常沮丧。为什么它不贯穿句子的其余部分?
像这样的事情怎么样:
import re
def bebis_word(word):
first_vowel = re.search("[aeiou]", word, re.IGNORECASE)
if first_vowel:
return word[0:first_vowel.start() + 1] * 3
else:
return ''
def bebis(sentence):
words = [bebis_word(word) for word in sentence.split()]
return " ".join(words)
print bebis("Hello World")
Output:
呵呵呵呵窝窝窝
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)