想要統計一個字母出現在字符串中的次數,這裏有問題。任何幫助需要基本功能幫助 - Python
def countLetters(string, character):
count = 0
for character in string:
if character == character:
count = count + 1
print count
想要統計一個字母出現在字符串中的次數,這裏有問題。任何幫助需要基本功能幫助 - Python
def countLetters(string, character):
count = 0
for character in string:
if character == character:
count = count + 1
print count
您有那些character
S中相同的變量名(這意味着他們將永遠是平等的)。嘗試:
def countLetters(string, character):
count = 0
for char in string:
if char == character:
count = count + 1
print count
當然,這是一樣的str.count()
謝謝,這似乎是正確的,但我在空閒 >>> countLetters收到此錯誤(加利福尼亞州的一家) 回溯(最近通話最後一個): 文件 「
沒關係,愚蠢的評論。我不得不添加引號。 非常感謝 – 2010-08-25 00:39:17
if character == character:
character
永遠等於character
,因爲他們是同一個變量。只需更改這些變量的名稱即可。也許search_character
?
我也不會使用string
作爲變量名稱,因爲它是內置模塊的名稱。
其他人已經涵蓋了你的功能的錯誤。這是另一種做你想做的事情的方法。 Python的內置字符串方法count()返回字符串出現次數。
x = "Don't reinvent the wheel."
x.count("e")
給出:
5
+1 - Pythonic,兄弟。 – duffymo 2010-08-25 00:40:56
'x = reduce(operator.add,(char =='e'for char in「Do reinvent the wheel」))''? – 2010-08-26 14:14:07
'sum(char =='e'for char in「重新發明輪子的另一種方式」)== 6'。比'reduce'和'operator.add'好得多。 – 2010-11-22 04:45:35
沒錯,'字符== character'即將所有的時間是非常真實的。 – 2010-08-25 00:37:20
避免使用標準庫名稱('string')或builtins作爲變量名稱。 – 2010-08-25 01:02:50
Theres在Python 2.7集合中包含一些有用的常用計算操作方法的「Counter」對象,如「most_common(n)」。 http://docs.python.org/library/collections.html?highlight=collections#counter-objects – monkut 2010-08-25 01:14:05