简单python代码中的NameError

Rya*_*ton -1 python string undefined palindrome nameerror

这是一个简单的回文检查器.该代码适用于数字,但不适用于字符串.

x = str(input("Enter a number: "))
if x == x[::-1]:
    print x + " is a palindrome!"
else:
    print x + " is not a palindrome!"
Run Code Online (Sandbox Code Playgroud)

当我尝试输入字符串时,我收到此错误:

  File "palindrome.py", line 1, in <module>
    x = str(input("Enter a number: "))
  File "<string>", line 1, in <module>
NameError: name 'abba' is not defined
Run Code Online (Sandbox Code Playgroud)

Jak*_*yer 5

看来你正在使用Python 2.x!

raw_input用于键盘输入.这总是返回一个字符串,因此不需要转换/转换.

在Python 2.x中input尝试评估输入为Python的文本,并且您从未定义过abba,因此它将导致aNameError

有关更多信息,请参阅文档