【问题标题】:python how to use a for loop to print out vowels in a string [duplicate]python如何使用for循环打印出字符串中的元音[重复]
【发布时间】:2019-03-01 16:59:33
【问题描述】:

我需要使用 for 循环按照它们出现的顺序打印出 horton 中的元音,这就是我目前所拥有的。

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

【问题讨论】:

标签: python loops for-loop


【解决方案1】:

单线:

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

【讨论】:

    【解决方案2】:

    欢迎来到 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
    

    【讨论】:

      猜你喜欢
      • 2020-02-13
      • 2014-11-16
      • 1970-01-01
      • 2018-02-04
      • 2020-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-28
      相关资源
      最近更新 更多