如何在没有定义变量

时间:2018-04-01 01:09:12

标签: python

我正在尝试解决下面的这个问题

  

假设s是一个小写字符串。写一个程序   计算字符串s中包含的元音数量。有效的元音   是:'a','e','i','o'和'u'。例如,如果s =   'azcbobobegghakl',您的程序应该打印:

     
    

元音数量:5

  

我写了以下代码

s='azcbobobegghakl'
count = 0
for vowels in s:
    if vowels in 'aeiou':
        count += 1
print ('Number of vowels: ' + str(count))

这不正确。我了解到你不应该将“azcbobobegghakl”定义为s或g或其他任何内容。我是否需要使用某种功能才能完成此任务?

3 个答案:

答案 0 :(得分:2)

您可以使用列表推导,然后计算列表。

print("Number of vowels: {}".format(len([vowel for vowel in input() if vowel in "aeiou"])))

问题是要求计算任何字符串中的元音数量,而不仅仅是示例azcbobobegghakl,因此您应该用input()替换固定字符串。

答案 1 :(得分:1)

你所拥有的东西似乎可以完成问题所需的任务,但是,如果想要以函数的形式实现它,你可以重新使用已经拥有的代码作为函数:

def count_vowels(s):
  count = 0
  for vowels in s:
      if vowels in 'aeiou':
          count += 1
  print ('Number of vowels: ' + str(count))

然后,您可以使用以下命令执行您的程序:

count_vowels('azcbobobegghakl')

答案 2 :(得分:0)

s = str(input("Enter a phrase: "))
count = 0
for vowel in s:
    if vowel in 'aeiou':
        count += 1
print("Number of vowels: " + str(count))

这似乎适用于python,但它不是正确的答案。