未定义名称

2024-09-26 22:42:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我很清楚这是一个无足轻重的问题,但我似乎找不到解决方案,我对编程很陌生,但渴望学习。我在python中浏览第一个google clas,这是我得到的错误。在

def both_ends(s):
  print s[0:2], s[3:5]
  return

x = input('...: ')
both_ends(x)

sergei@sergei-MS-7253:~/Desktop/p2$ python test2.py
...: haloj
Traceback (most recent call last):
  File "test2.py", line 10, in <module>
    x = input('...: ')
  File "<string>", line 1, in <module>
NameError: name 'haloj' is not defined

请解释一下是什么问题。在

谢谢你


Tags: inpyinput编程googleline解决方案file
3条回答

尝试raw_input而不是input。在

为了扩展,您可能正在阅读一个教程,该教程假定您使用的是python3.x,并且您可能正在使用python2.x。在python2.x中,input实际上计算它得到的文本,这意味着它认为haloj是一个变量名;因此NameError。在python3.x中,input只是以字符串形式返回文本。在

另一个选择是输入'haloj',而不是haloj。(注意添加的引号。)

在python2中,input()接受一个应该立即执行的字符串。如果要将给定的输入保存为字符串(您的意图),请使用raw_input()。在

为此,您应该使用raw_input(),而不是{}。当您使用input()时,python实际上正在执行一个eval(raw_input())-因此它试图对您输入的内容调用eval。当您输入'haloj'时,python会查找一个名为haloj的变量,当然,这个变量并不存在。在

相关问题 更多 >

    热门问题