只打印字符串中的元音

2024-05-21 05:10:41 发布

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

我是Python新手,我想把所有的元音都打印成一个字符串。所以如果有人输入“嘿,一切都好吗?”,所有元音都需要打印…但我不知道怎么打印?(所以不是数元音,而是打印元音)

现在我有了这个

sentence = input('Enter your sentence: ' )

if 'a,e,i,o,u' in sentence:
    print(???)

else:
    print("empty")

Tags: 字符串ininputyourifelsesentenceempty
3条回答

像这样的?

sentence = input('Enter your sentence: ' )
for letter in sentence:
    if letter in 'aeiou':
        print(letter)

您可以始终使用RegEx:

import re

sentence = input("Enter your sentence: ")
vowels = re.findall("[aeiou]",sentence.lower())

if len(vowels) == 0:
    for i in vowels:
        print(i)
else:
    print("Empty")

如果你想打印句子中出现的元音,那么这两个答案都是好的,所以“Hello World”会打印两次“o”,以此类推

如果您只关心distinct元音,则可以在元音上循环。从某种意义上说,你是在颠倒其他答案所建议的代码:

sentence = input('Enter your sentence: ')

for vowel in 'aeiou':
    if vowel in sentence:
        print(vowel)

所以,“嘿,没事吧?”将打印

a e i

与之相反:

e e e e e i a i

同样的想法,但遵循Jim的方法,将列表理解解包到print

print(*[v for v in 'aeiou' if v in sentence])

相关问题 更多 >