input()error - NameError:name'...'未定义

input()error - NameError:name'...'未定义

我尝试运行这个简单的python脚本时收到错误:


input_variable = input ("Enter your name: ")

print ("your name is" + input_variable)

让我说我输入“dude”,我得到的错误是:


line 1, in <module>

input_variable = input ("Enter your name: ")

File "<string>", line 1, in <module>

NameError: name 'dude' is not defined

我正在运行Mac OS X 10.9.1,我正在使用安装python 3.3附带的Python Launcher应用程序来运行脚本。


编辑:我意识到我用2.7运行这些脚本。我想真正的问题是我如何使用3.3版运行我的脚本?我想如果我将我的脚本拖放到我的应用程序文件夹中的Python 3.3文件夹内的Python Launcher应用程序之上,它将使用3.3启动我的脚本。我想这个方法仍然用2.7启动脚本。那么我如何使用3.3?


蛊毒传说
浏览 778回答 4
4回答

一只甜甜圈

您正在运行Python 2,而不是Python 3.为了在Python 2中运行,请使用raw_input。input_variable&nbsp;=&nbsp;raw_input&nbsp;("Enter&nbsp;your&nbsp;name:&nbsp;")print&nbsp;("your&nbsp;name&nbsp;is"&nbsp;+&nbsp;input_variable)

慕森卡

由于您是为Python 3.x编写的,因此您需要使用以下命令开始编写脚本:#!/usr/bin/env&nbsp;python3如果您使用:#!/usr/bin/env&nbsp;python它将默认为Python 2.x.&nbsp;如果没有任何内容以#开头,这些就会出现在脚本的第一行!(又名shebang)。如果你的脚本刚开始:#!&nbsp;python然后你可以将它改为:#!&nbsp;python3虽然这种较短的格式只能被少数程序识别,例如启动器,所以它不是最佳选择。前两个示例使用得更为广泛,有助于确保您的代码可以在任何安装了Python的计算机上运行。

临摹微笑

您应该使用raw_input因为您使用的是python-2.7。当您input()在变量上使用时(例如s = input('Name: '):),它将在Python环境中执行命令而不保存您在变量(s)上写的内容,如果您编写的内容未定义则会创建错误。raw_input()将正确保存您在变量上写的内容(例如f = raw_input('Name : '):),并且在不创建任何可能的错误的情况下它不会在Python环境中执行它:input_variable&nbsp;=&nbsp;raw_input('Enter&nbsp;Your&nbsp;Name&nbsp;:&nbsp;')print("Your&nbsp;Name&nbsp;Is&nbsp;&nbsp;:&nbsp;"&nbsp;+&nbsp;(input_variable))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python