我正在编写一个代码来计算字符串中每个字母的出现次数。我知道它已被询问并回答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')
这也不起作用。任何可能有所帮助的人都会有所帮助
答案 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')
第二,你不要在赋值给一个变量时使用两个字符串,除非你想把它变成一个字符串元组。