Python 字符串和列表

标签 python string list

几天来一直坐在这个小问题上,我不知道是我错了还是错过了什么。

目标:从句子中的每个单词 - 找到第一个元音,从单词中删除该元音之后的字母,并将剩余的字母乘以 3。

示例:如果我有以下句子:“Hello World”,所需的输出应该是“HeHeHe WoWoWo”。

我的代码:

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

输出:

HeHeHe WoWoWo

关于Python 字符串和列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12544302/

相关文章:

javascript - jsp 格式化并保留逗号

计算每个字符在 C 中出现的次数

python - 如何让我的电子邮件每封电子邮件只显示一次?

python - 如何将 django 查询集从模型方法返回到模板?

c - 我想在 C 中创建一个字符串和整数的数组结构

php - 我正在尝试为每个注册用户创建一个数据库表。我究竟做错了什么?

python - 从列表中获取键和值

python - 图表上的比例问题

python - 反转 networkx 图中的一条边

c++将函数参数(带有模板变量的结构)转换为函数体内的字符串