计算字符串Python中的出现次数

时间:2014-08-29 17:13:55

标签: python string count

我正在编写一个代码来计算字符串中每个字母的出现次数。我知道它已被询问并回答Count occurrence of a character in a string,但我无法弄清楚为什么在我使用它时它不会计算。

def percentLetters(string):
  string = 'A','B'
  print string.count('A')
  print string.count('B')

如果我要输入percentLetters('AABB'),我预计会收到A = 2和B = 2,但我没有这样的运气。我之前尝试使用if语句,但它根本不会打印任何内容

def percentLetters(string):
string='A','B'
if 'A':
  print string.count('A')
if 'B':
  print string.count('B')

这也不起作用。任何可能有所帮助的人都会有所帮助

3 个答案:

答案 0 :(得分:2)

不要在函数内重新分配string,最好不要使用string作为变量名。

def percentLetters(s):
        print s.count('A')
        print s.count('B')
percentLetters('AABB')
2
2

string = 'A','B'表示您将字符串变量设置为仅包含("A","B")的元组,而不是指向您传入的string

In [19]: string = 'A','B'

In [20]: string
Out[20]: ('A', 'B')

答案 1 :(得分:1)

因为count是一个方法/模块(在python中调用它),对于字符串,你的方式,

myString ='A','B'

myString是一个元组,而不是一个字符串。

答案 2 :(得分:1)

首先,这是您的代码的正确版本:

def percentLetters(string):      
    print string.count('A')  
    print string.count('B')

第二,你不要在赋值给一个变量时使用两个字符串,除非你想把它变成一个字符串元组。