python3输入函数与崇高文本生成系统

2024-09-28 22:23:13 发布

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

我有一个关于sublimitext3构建系统的问题。我有下面的代码(下面)接受用户的响应。我安装了Python3并将其用作构建系统。自从Python3取代Python2的raw_input,我最初使用了函数input()。这是在Sublime文本控制台上编译的。在

start = input("Would you like to play? (Y/N) ")
if(start.lower() == "y"):
    print(start)

由于Sublime text无法接收用户的响应,我使用REPL for Python3作为构建系统。但是,我不能让上面的代码工作。它总是给我一个

NameError: name 'Y' is not defined

唯一能让它通过的方法是使用引号输入用户输入,即"y"。在

然而,当我使用REPL构建系统将input更改为{}时,它奇迹般地工作了(见下文)。它看起来像是python3和python2的混合体,因为print函数print()仍然使用括号。在

有人知道如何得到没有引号的输入吗?有人能解释为什么下面的代码混合了Python3和Python2吗?在

^{pr2}$

Tags: 函数代码用户文本inputraw系统repl
1条回答
网友
1楼 · 发布于 2024-09-28 22:23:13

在python3中,raw_input被重命名为input,python2的{}被删除。Python2的版本将输入解析为代码,这就是为什么会收到此错误,您需要使用raw_input。在

或者你可以这样破解它,这样它就可以交叉兼容了。在

try:
   input = raw_input
except NameError:
   pass

如果您想要一种更有条理的方法,您也可以read从{}开始。在

相关问题 更多 >