python 从单词中提取元音

python extract vowels from words

我正在阅读一串单词并尝试检索其中的所有元音,但收效甚微。所以如果我有这个:你好这是一个测试这是。我想要 return 这样的东西:

:|eo| 1:|

:|我| 1:|

:|我| 1:|

:|一个| 1:|

:|我| 1:|

:|我| 1:|

这是我的代码的最新版本,它只打印单词,我知道我需要遍历每个单词,但无法弄清楚如果不变成无限循环怎么办。

import sys
import re
import string

line = sys.stdin.readline()
vowels = ['a', 'e', 'i', 'o', 'u']
line = line.lower()
line = line.replace(',', ' ').replace(';',' ').replace('”','').replace('?', .').replace('!','.')
word = line.split()

print(word)
line = sys.stdin.readline()
sentence = line.split()
for word in sentence:
    vowel_list = [char for char in word if char in vowels]

您现在有一个仅包含给定单词中元音的列表。根据需要组合和格式化。

这是另一个基于您的答案:

line = sys.stdin.readline()
vowels = ['a', 'e', 'i', 'o', 'u']
line = line.lower()
line = line.replace(',', ' ').replace(';',' ').replace('”','').replace('?', '.').replace('!','.')
lst = line.split()

for idx, word in enumerate(lst):
    new_word = ''
    for letter in word:
        if letter in vowels:
            new_word += letter
            lst[idx] = new_word
print(lst)
#['eo', 'i', 'i', 'a', 'e', 'i', 'i']

我想你想要这样的东西

string = "hello this is a test this is"
vowels = ["a", "e", "i", "o", "u"]

for word in string.split(" "):
    new_word = ""
    for char in word:
        new_word = new_word + char if char in vowels else new_word
    print(f"|: {new_word} :|")

输出

|: eo :|
|: i :|
|: i :|
|: a :|
|: e :|
|: i :|
|: i :|