Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python can';我们没有一个简单的计数器功能_Python_Function - Fatal编程技术网

Python can';我们没有一个简单的计数器功能

Python can';我们没有一个简单的计数器功能,python,function,Python,Function,我已经一遍又一遍地看了这段代码,但我不知道我做错了什么 word='banana' def counting(x): count=0 for i in word: if i=='a': count=count+1 return count print (counting(word)) 结果应该是3('banana'中'a'的3实例)。但实际输出是1。如何修复代码?您的return语句似乎缩进了,以便位于循环中的if

我已经一遍又一遍地看了这段代码,但我不知道我做错了什么

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

结果应该是
3
'banana'
'a'
3
实例)。但实际输出是
1
。如何修复代码?

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

word='banana'
def计数(x):
计数=0
对于x中的i:
如果i=='a':
计数=计数+1
返回计数
打印(计数(字))

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

word='banana'
def计数(x):
计数=0
对于x中的i:
如果i=='a':
计数=计数+1
返回计数
打印(计数(字))

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

因此,如果没有找到字符,函数将始终返回0,如果找到任何字符,函数将始终返回1

顺便说一下,这个逻辑在python中已经内置为字符串方法

count=word.count('a')


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

因此,如果没有找到字符,函数将始终返回0,如果找到任何字符,函数将始终返回1

顺便说一下,这个逻辑在python中已经内置为字符串方法

count=word.count('a')


将完成此操作。

在循环完成之前返回计数。自行编写此类函数总是一个好主意。然而,一旦您知道它是如何工作的,您就应该坚持使用python提供的功能。您的函数正在执行
print(word.count(“a”)
将要执行的操作^。如果与变量
word
未引用的任何字符串一起使用,这将导致函数失败。在循环完成之前返回计数。自行编写此类函数总是一个好主意。然而,一旦您知道它是如何工作的,您就应该坚持使用python提供的功能。您的函数正在执行
print(word.count(“a”)
将要执行的操作^。如果与变量
word
未引用的任何字符串一起使用,这将导致函数失败。