Вы перезаписываете свою переменную 'ch':
def countLetters(str, ch):
# ^ the character you are looking for
count=0
index=0
for ch in str:
# ^ the string character you are trying to check
if ch==str[index]: # ???
count=count+1
index=index+1
print count
(кроме того, обычно более полезно вернуть значение, чем просто напечатать его).
Встроенная-in метод str.count:
"aaabb".count("a") -> 3
Как вы можете переписать свой код:
def countLetters(search_in, search_for):
count = 0
for s in search_in: # iterate by string char, not by index
if s==search_for:
count += 1
return count
и быструю замену Pythonic:
def countLetters(search_in, search_for):
return sum(1 for s in search_in if s==search_for)