相当于Ipython笔记本中的raw_input

Rya*_*axe 8 python input ipython

我只是搞乱了Ipython笔记本,我打算创建一个战舰游戏......不幸的是,我需要在代码中使用如下的行来制作这样的游戏:

move = raw_input("Where would you like to attack? ")
Run Code Online (Sandbox Code Playgroud)

Ipython笔记本不允许raw_input ...所以如何从其中一个玩家那里得到输入?我已经四处寻找,没有什么我能找到的直接答案,例如,不,你不能或是,这就是这样.谢谢.

Pie*_*ton 10

IPython 2现在支持"raw_input",IPython 3支持"输入".请注意,IPython 2中存在"输入",但它与IPython 3中的不同!相反,它相当于eval(input()).

(这不是IPython的特殊性,它只是继承自Python 2/3的行为)

如果你想在笔记本电脑中携带便携东西,只需写在它的开头:

try:
    input = raw_input
except NameError: #Python 3
    pass
Run Code Online (Sandbox Code Playgroud)

......然后总是使用input.


小智 -1

我做了一些研究并发现了这一点。您可以尝试下面的代码吗,因为我不知道如何测试它。

import tkSimpleDialog

move = tkSimpleDialog.askstring("Where would you like to attack? ")
Run Code Online (Sandbox Code Playgroud)

还有一个类似的线程: Ipython raw_input work around?

另外,请尝试使用 jQueryUI 对话框查看 IPython 笔记本的 raw_input 解决方法的示例

https://github.com/minrk/ipython_extensions/blob/master/nbinput.py

不知道为什么一种语言会让输入变得太复杂