python3.7 - NameError: имя 'paul' не определяется с помощью - PullRequest
0 голосов
/ 29 декабря 2018
tekst = input("Enter your word: ")
for i in len(tekst):    
if tekst(i) == tekst(-i):        
print(tekst + " is a palindrome word")    
else:        
print( tekst + " is not a palindrome word")

Возникли проблемы с вводом, я использую Python 3.7.

Ответы [ 3 ]

0 голосов
/ 29 декабря 2018

Вы только что испортили синтаксис.Подстрочный оператор - [], который используется для доступа к любому элементу в списке или строке.

tekst - строка, элемент строки i th может бытьдоступ с помощью tekst[i].Вместо этого вы использовали tekst(i), что означает, что вы пытаетесь вызвать функцию с именем tekst, которая не существует.Отсюда NameError.

0 голосов
/ 29 декабря 2018

Пока что вы можете проверить приведенный ниже код, чтобы исправить синтаксис.Помните, что indentation for Python играет очень важную роль, которая не была правильно использована вашим кодом.Вы должны использовать здесь [].

tekst = input("Enter your word: ")
for i in range(len(tekst)):    
       if tekst[-i] == tekst[-i]:        
        print(tekst + " is a palindrome word")    
       else:        
        print( tekst + " is not a palindrome word")

Вы можете проверить живую демонстрацию здесь - Демо Чтобы узнать, как написать программу для проверки, является ли строкаПалиндром или не использовать ссылку здесь

0 голосов
/ 29 декабря 2018

вы используете () вместо [] для доступа к строковым символам.tekst (i) будет означать, что вы вызываете функцию с именем tekst и передаете ей i, где как tekst [i] используется для адресации конкретного элемента в массиве.

, так что это

if tekst(i) == tekst(-i):

должно быть

 if tekst[i] == tekst[-i]:

другим способом проверки палиндрома является

if (tekst == tekst[::-1]):
...