无法获得简单的计数器功能

时间:2019-09-14 19:02:29

标签: python function

我一遍又一遍地看了这段代码,无法弄清楚我在做什么错!

word='banana'
def counting(x):
    count=0
    for i in word:
        if i=='a':
            count=count+1
            return count
print (counting(word))

结果应为33'a'的{​​{1}}个实例)。但是实际输出是'banana'。我应该如何修正我的代码?

2 个答案:

答案 0 :(得分:2)

您的return语句似乎是缩进的,以便位于循环内的if语句之内。确保在循环完全完成之前不返回计数。

word='banana'
def counting(x):
    count=0
    for i in x:
        if i=='a':
            count=count+1
    return count
print (counting(word))

答案 1 :(得分:0)

这是因为您在for循环内返回了count。第一次在单词中找到'a'时,您将立即从函数中返回。

为什么您的函数总是返回0(如果找不到字符)或1(如果找到任何字符)。

顺便说一句-该逻辑已作为python中的字符串方法内置。

count = word.count('a')

可以解决问题。