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

Python 计算字符串中的出现次数,python,string,count,Python,String,Count,我正在编写一个代码来计算字符串中每个字母的出现次数。我知道它已经被询问和回答了,但是我不明白为什么我使用它时它不算数 def percentLetters(string): string = 'A','B' print string.count('A') print string.count('B') 如果我输入百分比字母('AABB'),我预计会收到A=2和B=2,但我没有这样的运气。我之前尝试过使用if语句,但它根本不会打印任何内容 def percentLetters(str

我正在编写一个代码来计算字符串中每个字母的出现次数。我知道它已经被询问和回答了,但是我不明白为什么我使用它时它不算数

def percentLetters(string):
  string = 'A','B'
  print string.count('A')
  print string.count('B')
如果我输入
百分比字母('AABB')
,我预计会收到A=2和B=2,但我没有这样的运气。我之前尝试过使用
if
语句,但它根本不会打印任何内容

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

这也不行。任何了解此函数的人都会很有帮助,不要在函数内部重新分配
string
,最好不要将
string
用作变量名

def percentLetters(s):
        print s.count('A')
        print s.count('B')
percentLetters('AABB')
2
2
string='A','B'
表示将字符串变量设置为仅包含
(“A”,“B”)
的元组,它不指向传入的
字符串

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

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

因为count是string的一个方法/模块(无论在python中调用什么),所以按照您的方式

myString ='A','B'

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

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

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

第二,除非要将一个变量赋值为字符串元组,否则不要在赋值中使用两个字符串。

字符串
参数替换为元组,因此传入的内容无关紧要。如果'A':
和'B':要测试什么?这两个都是正确的。您在这里添加了什么
string='A','B'
,您希望它做什么?将名称
字符串
绑定到包含两个元素的元组,
'a'
'B'
(逗号使其成为元组)。以前它绑定到的任何东西(调用函数时)现在都不再可用。那么元组作为一个列表,不允许代码作为字符串运行?它不能识别或提取各个部分?如果您想获得传入字符串的计数,只需对字符串调用计数,设置string=“A”,“B”意味着在将名称重新分配给tuplr时,不会使用您传递的变量