3

这对很多人来说可能看起来有点傻或明显,但是在同一行输入输入后如何打印字符串?

我想要做的是问用户一个问题,然后他们输入他们的输入。在他们按下回车键后,我想打印一段文本,但在他们输入的同一行,而不是下一行。

目前我正在为常规输入/输出做以下事情:

Example = input()
print("| %s | Table1 | Table2 | Table3 |" % (Example))

哪个输出:

INPUT
| INPUT | Table1 | Table2 | Table3 |

但是,我想得到的只是:

| INPUT | Table1 | Table2 | Table3 |

感谢您的时间。

4

4 回答 4

1

据我了解,您希望将用户的输入替换为程序的输出。因此,您需要在打印之前删除一些字符。我认为这里的这篇文章包含您想要的答案:

如何在python中将以前的打印覆盖到标准输出?

编辑:从评论中,也许你可以使用这个解决方案,它看起来“苛刻”但可以完成这项工作:

删除 Python 中的最后一个 STDOUT 行

于 2013-08-01T17:24:09.513 回答
1

如果你想保持屏幕为空,并控制用户每次输入用户输入时出现的内容,你可以很容易地清除屏幕,然后立即打印

import os
os.system("cls") #if you're on windows, for linux use "clear"

这是一个例子

Example = input()
os.system("cls")
print("| %s | Table1 | Table2 | Table3 |" % (Example))
于 2013-08-01T17:36:38.597 回答
1

使用 end 参数,所以在输入函数中输入文本后,在后面加上 end=""。像这样:

                           b=input("Hi a random example.", end=" ")
                           print("This is on the same line.")

然后它将打印在相同的位置,但它只能是参数 end 而不是别的。

于 2013-08-01T21:10:43.163 回答
0

你看过getpass吗?它读取输入而不显示用户键入的字符(如密码)。该方法的第一个参数是向用户显示的提示,看起来您希望成为“”(空字符串)。试试这个:

from getpass import getpass
Example = getpass("")

print("| %s | Table1 | Table2 | Table3 |" % (Example))

你应该得到你想要的输出。祝你好运!

编辑

虽然,您可能仍然会在用户输入输入的地方出现空白行。这可能符合也可能不符合您的要求,但我认为这比您在原始帖子中的要求更近了一步。

于 2013-08-01T17:30:49.897 回答