У вас есть две ошибки в вашем коде. Во-первых, количество слов в строке, как правило, не 100. Во-вторых, заглавная буква не равна соответствующей строчной букве. Вот исправленная версия вашей программы:
count = 0 # x is never a good name
with open('palindrome_test.txt','r') as text:
for line in text:
words = line.lower().split() #split the lowercased line into words
for w in words:
if w == w[::-1]:
count += 1 #increment
Обратите внимание, что слово «а» также является палиндромом (это встречается дважды в вашем тексте).
Вы можете заменить цикл for на понимание списка, чтобы получить более привлекательную программу:
count = 0
with open('palindrome_test.txt','r') as text:
for line in text:
words = line.lower().split() #split the lowercased line into words
count += sum(w == w[::-1] for w in words)