【问题标题】:Raw_input in Python not returning (Sublime Text 3) [duplicate]Python中的Raw_input没有返回(Sublime Text 3)[重复]
【发布时间】:2016-12-03 05:33:03
【问题描述】:

我正在使用 Sublime Text 3。这是我的代码:

a = raw_input("Test raw: ")

它正确地要求 Test raw: 但在输入字母后不做任何事情。但是,此行在命令提示符下有效。

基本上,在 Test raw: 显示并输入一个字符后,我希望它移动到下一行。现在,它没有。我可以继续输入字符而不继续。

编辑: SublimeREPL 适用于 Sublime Text 2。我无法为 Sublime Text 3 安装它。有类似的东西吗?

答案: 使用此website 安装包控制,并按照here 的其余说明进行操作。谢谢大家!

【问题讨论】:

  • 由于 Python Read-Evaluate-Print-Loop,此行在命令提示符下有效,但在文件中无效,因为它从不打印。请参阅@James 的回答。
  • raw_input 在遇到行分隔符(按 Enter 时)之前不应返回。你在按 Enter 吗?
  • 顺便说一句,这与您的编辑器无关。
  • 我正在按回车,但仍然没有得到答案。
  • 你期望它做什么?你还没有告诉 Python 显示任何输出或任何东西。

标签: python sublimetext3 raw-input


【解决方案1】:

在命令提示符下(称为 Python REPL,用于“读取评估打印循环”),如果一个表达式悬空,它的表示将在评估完成后打印 - 因此“读取,评估 print ,循环”。

Python 程序并非如此。在 Python 程序中,输入被分配给 a,然后程序结束。要使其打印,请执行以下操作:

a = raw_input("Test raw: ")
print(a)

或者干脆

print(raw_input("Test raw: "))

完全跳过使用变量

【讨论】:

  • 谢谢。但是,它不会移动到下一行。例如,如果代码是“a = raw_input("Test raw: ") print 'b'”,即使在为 Test raw 输入了一些内容之后,它也不会打印 'b':
  • 嗯,对于初学者来说,b 将是未定义的,因此它会在那里出错,并且在收到输入之前它不会移动到下一行。
  • 即使在我输入输入之后,它也不会继续。它也是'b',而不是变量b
  • a = raw_input(whatever) 也不会在 REPL 中打印 a 的值。 REPL 只打印表达式语句的值,这是一个赋值语句。
  • 从您的问题来看,詹姆斯的回答似乎正确回答了这个问题。但是,从您的回复来看,这似乎不是您想要完成的。也许我们可以为您想要实现的目标提供更多细节以提供更好的帮助。例如,您是否希望继续接收输入,然后打印所有给定的数据?
猜你喜欢
  • 1970-01-01
  • 2021-09-04
  • 2017-02-22
  • 2016-11-27
  • 2017-02-23
  • 1970-01-01
  • 1970-01-01
  • 2016-02-07
  • 1970-01-01
相关资源
最近更新 更多