Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何触发一个";撤销;供用户输入_Python_Python 3.x_User Input - Fatal编程技术网

Python 如何触发一个";撤销;供用户输入

Python 如何触发一个";撤销;供用户输入,python,python-3.x,user-input,Python,Python 3.x,User Input,我有以下用户输入语句,它们是更大函数的一部分。当提示用户输入时,用户可能会伸出手指触摸键盘并继续执行以下输入提示。用户输入是任意的,如果他们插入正确的信息,这实际上取决于他们。但是,返回到上一个输入语句并通过触发键绑定(例如,crtl+blets say)或类似的方式从那里继续,这可能很好 我知道这可以通过使用一个条件语句进行显式无效输入来改进。然而,对于我的情况来说,这不是一个用例。我不知道该怎么办。希望有人能给我指出正确的方向 whichDIMM = input("\nWhich

我有以下用户输入语句,它们是更大函数的一部分。当提示用户输入时,用户可能会伸出手指触摸键盘并继续执行以下输入提示。用户输入是任意的,如果他们插入正确的信息,这实际上取决于他们。但是,返回到上一个输入语句并通过触发键绑定(例如,
crtl+b
lets say)或类似的方式从那里继续,这可能很好

我知道这可以通过使用一个条件语句进行显式无效输入来改进。然而,对于我的情况来说,这不是一个用例。我不知道该怎么办。希望有人能给我指出正确的方向

whichDIMM = input("\nWhich DIMM needs to be replaced?: (ex. A4) \n")
dimmSize = input("\n64G/32G/16G memory?\n")
hostname = input("\nEnter hostname: \n"
如果出现拼写错误,是否可以“撤消”并返回上一个提示?然后按预期继续?否则,用户将需要重新运行整个程序

例如:

Which DIMM needs to be replaced?
*mistypes*

64G/32G/16G memory?
(trigger undo)

Which DIMM needs to be replaced?
DIMM_A4

64G/32G/16G memory?
64G

Enter hostname:
myhostname

...
continue with the rest of the script

您基本上是试图将其转换为一个表单,在该表单中,您可以在字段之间移动,然后提交整个表单。这已经以多种方式编写,因此您可以只使用一个这样的库。例如,一个简单的例子。

在每次输入之后,或者至少在某些输入之后,有一个类似“您输入了‘xyx’”这样的提示是否有效?或者在最后确认每个输入,显示所有输入,然后询问用户是否希望再次输入?这看起来像是一个设计问题,我不确定你是在问代码,还是仅仅是关于如何设计这个功能的想法。@Davis我正在寻找与上述情况相关的建议和可能的代码。然而,当你提到它时,这看起来确实是一个设计问题。最后要求确认输入是我看待它的一种方式。我只是想知道是否有可能设计此功能,以便用户可以动态编辑输入。再次感谢
input()
您不能使用任何类似
crtl+b
的组合键。您只能写入文本
undo
并检查
dimmSize==“undo”
。您必须使用类似于
curses
的东西或带有窗口的真实GUI,如
tkitner
PyQt
wxPython