我目前的输入法是for循环。我输入一个整数,它被添加到一个列表中,然后它转到下一个输入。每次运行时都会产生一条新线。我想将输入条目保留在同一位置。我是 Python 和一般编程的新手,所以我不知道从哪里开始。我的输入语句是这种形式:
var= input(" message: ")
谢谢你
我目前的输入法是for循环。我输入一个整数,它被添加到一个列表中,然后它转到下一个输入。每次运行时都会产生一条新线。我想将输入条目保留在同一位置。我是 Python 和一般编程的新手,所以我不知道从哪里开始。我的输入语句是这种形式:
var= input(" message: ")
谢谢你
如果您使用的是 UNIX 或 Windows 终端,您可以添加一个 ASCI转义符"\033[A"
(通过“覆盖”先前的输入消息来保持相同的位置。
tl; dr:大多数简单的应用程序不这样做是有原因的:这是很多工作却没有太多的回报。
如果您要确保该"message: "
行始终出现在窗口中的同一位置,那么您不能使用 plain input
:它不需要“行尾”参数,实际上换行符发生在输入之前获取输入字符串。(即当用户点击时RETURN
。)
你可以这样做,特别是如果你不关心 Windows,使用getch
模式,基本上说终端将字符传递给你,而不是整行,你需要决定如何解释它们。getch 包似乎可以在这里提供帮助,它甚至支持 Windows !
另一种选择(当您需要的是手术刀时,可能没有那么有效或核弹)将使用诸如诅咒或祝福之类的终端.定位能力。我相信,祝福包含 ANSI 转义字符。(正如这个问题的另一个答案中提到的,这可能是正确的方法。)