需要基本函数的帮助-Python

需要基本函数的帮助-Python,python,Python,要计算字母在字符串中出现的次数,此处有问题。有什么帮助吗 def countLetters(string, character): count = 0 for character in string: if character == character: count = count + 1 print count 这些字符具有相同的变量名,这意味着它们将始终相等。尝试: def countLetters(string, chara

要计算字母在字符串中出现的次数,此处有问题。有什么帮助吗

def countLetters(string, character):
    count = 0
    for character in string:
        if character == character:
            count = count + 1
    print count

这些字符具有相同的变量名,这意味着它们将始终相等。尝试:

def countLetters(string, character):
    count = 0
    for char in string:
        if char == character:
            count = count + 1
    print count
当然这和

字符始终等于字符,因为它们是相同的变量。只需更改这些变量的名称。也许搜索你的角色


我也不会使用字符串作为变量名,因为它是内置模块的名称。

其他人已经介绍了函数的错误。这里有另一种做你想做的事的方法。Python的内置string方法返回字符串的出现次数

x = "Don't reinvent the wheel."
x.count("e")
给出:

5

是的,character==character将一直是非常正确的。避免使用标准库名称字符串或内置项作为变量名。python 2.7集合中有一个新的计数器对象,它包含一些用于常见计数操作的有用方法,如大多数常用方法@格雷格·休吉尔,除了南!浮点'nan'==浮点'nan'==False@carl:…对于已重新定义_ueq_uuu以执行其他操作的对象:谢谢,这似乎是正确的,但我在IDLE>>>CountleteScalifornia中收到了这个错误,这是一个回溯最近的调用最后:文件,第1行,在CountleteScalifornia中,一个NameError:名称“california”未定义>>没关系,愚蠢的评论。我不得不加上引号。非常感谢关于x=reduceoperator.add的内容,char='e'表示重新发明轮子吗?sumchar=='e'表示以另一种方式重新发明轮子的char==6。比reduce和operator.add好得多。
5