【发布时间】:2014-02-26 17:06:34
【问题描述】:
解决我试图计算字符串中元音数量的问题。我写了以下代码:
def vowel_count(s):
count = 0
for i in s:
if i == 'a' or i == 'e' or i == 'i' or i == 'o' or i == 'u':
count += 1
print count
vowel_count(s)
虽然上述方法有效,但我想知道如何通过创建所有元音的列表来更简单地做到这一点,然后通过该列表循环我的 If 语句,而不是进行多个布尔检查。我确信有一种更优雅的方法可以使用导入模块来执行此操作,但对这种类型的解决方案很感兴趣。
相对菜鸟...感谢帮助。
【问题讨论】:
-
为了学习,如果你想保持你当前的for循环结构,把多个布尔检查改为
if i in ('a','e','i','o','u'): -
@JesseMu
if i in ('a', 'e', 'i', 'o', 'u'):更合适,因为if i in 'aeiou':也会匹配i == 'eio',这不是代码的意图。 -
@SethMMorton 好点,已编辑
标签: python