Я создаю программу на Python, которая подсчитывает количество символов, введенных пользователем в файл, который не чувствителен к регистру - PullRequest
0 голосов
/ 20 марта 2011

У меня проблема с моим кодом и ошибка TypeError: строковые индексы должны быть целыми числами, а не str.Любая помощь или предложение?

мой код:

f= open("studentname.txt", 'r')
finChar = raw_input("please enter a character to count ")
a=finChar.lower()
b=finChar.upper()
c=a+b
str = ''
for line in f.readlines():
     str = str + line
count = 0
for i in str:
    if str[i]== c :
        count = count + 1
f.close()
print "the total character in the file is ", count

Ответы [ 2 ]

3 голосов
/ 20 марта 2011

for i in str перебирает символы в строке, а не их индексы.Поэтому вы можете написать

for i in str:
    if i in c:
2 голосов
/ 20 марта 2011

for i in str дает вам символы в str, а не индексы для индексации в str.

Попробуйте if i == c вместо if str[i] == c.

...