python如何使用for循环在字符串中打印出元音

时间:2018-09-26 01:53:01

标签: python loops for-loop

我需要使用for循环以霍顿音的出现顺序打印出元音,这是我到目前为止所拥有的。

horton = "A person's a person, no matter how small."
vowels = "aeiouAEIOU" 
for letters in horton:
if letters == vowels[0:9]:
    print(letters)

2 个答案:

答案 0 :(得分:4)

欢迎使用StackOverflow!

if letters == vowels[0:9]:替换为if letters in vowels:将解决您的问题。

简单说明:==将检查左侧元素是否与右侧元素相同(在您的情况下,==左侧是单个字母,右侧是“ aeiouAEIO”) (是的,也缺少大写字母U),而且它们在任何情况下都不能相同。

完整程序:

horton = "A person's a person, no matter how small."
vowels = "aeiouAEIOU" 
for letters in horton:
    if letters in vowels:
        print(letters)
# A
# e
# o
# a
# e
# o
# o
# a
# e
# o
# a

答案 1 :(得分:0)

单线:

print(''.join([i for i in horton if i.lower() in 'aeiou']))

输出:

Aeoaeooaeoa

如果要换行:

print('\n'.join([i for i in horton if i.lower() in 'aeiou'])) 

输出:

A
e
o
a
e
o
o
a
e
o
a

或正则表达式:

import re
print(''.join(re.findall(r'[aeiou]',"mississippi")))

输出:

Aeoaeooaeoa

如果是换行符:

import re
print('\n'.join(re.findall(r'[aeiou]',"mississippi")))

输出:

A
e
o
a
e
o
o
a
e
o
a