【发布时间】:2015-05-12 01:18:52
【问题描述】:
我正在尝试编写一个程序来计算字符串中特定字母的出现次数,而无需使用 count 函数。我把字符串变成了一个列表并设置了一个循环来计数,但计数永远不会改变,我不知道为什么。这就是我现在拥有的:
letter = 'a'
myString = 'aardvark'
myList = []
for i in myString:
myList.append(i)
count = 1
for i in myList:
if i == letter:
count == count + 1
else:
continue
print (count)
非常感谢任何帮助。
【问题讨论】:
-
count == count + 1不是分配。只需删除一个=。 -
如果
'aardvark'.count('a')做得更好更快,为什么还要发明糟糕的东西? (至少它不那么容易出错) -
您的
for循环具有if...else...,其中else具有continue。continue不是必需的,因为没有什么可以避免使用for循环进行计算。一个单独的if就足够了。 -
从字符串中创建一个列表也是完全多余的:
for char in myString: ...完成了这项工作,并且非常 Pythonic。
标签: python string counting letter