我一遍又一遍地看了这段代码,无法弄清楚我在做什么错!
word='banana'
def counting(x):
count=0
for i in word:
if i=='a':
count=count+1
return count
print (counting(word))
结果应为3
(3
中'a'
的{{1}}个实例)。但是实际输出是'banana'
。我应该如何修正我的代码?
答案 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')
可以解决问题。