对于很多人来说,这看起来有点愚蠢或明显,但是如何在同一行输入输入后打印字符串?
我想要做的是询问用户他们输入输入的问题。在他们按下回车后我想要打印一个文本选择,但在之后输入,而不是下一行。
目前我正在做以下事情以进行常规输入/输出:
Example = input()
print("| %s | Table1 | Table2 | Table3 |" % (Example))
哪个输出:
INPUT
| INPUT | Table1 | Table2 | Table3 |
然而,我想得到的只是:
| INPUT | Table1 | Table2 | Table3 |
感谢您的时间。
答案 0 :(得分:1)
根据我的理解,您希望用户的输入被程序的输出替换。所以你需要的是在打印之前删除一些字符。我认为这篇文章包含了你想要的答案:
How to overwrite the previous print to stdout in python?
编辑: 从评论中,也许您可以使用此解决方案,它似乎“苛刻”但可以完成这项工作:
答案 1 :(得分: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))
答案 2 :(得分:1)
使用end参数,因此在输入函数中键入文本后,在后面输入一个end =“”。像这样:
b=input("Hi a random example.", end=" ")
print("This is on the same line.")
然后它将打印在同一个但它必须只是参数结束而没有别的。
答案 3 :(得分:0)
你看过getpass了吗?它读取输入而不显示用户键入的字符(如密码)。该方法的第一个参数是向用户显示的提示,它看起来像你想成为“”(空字符串)。试试这个:
from getpass import getpass
Example = getpass("")
print("| %s | Table1 | Table2 | Table3 |" % (Example))
你应该得到你想要的输出。祝你好运!
修改
尽管如此,您仍然可能会在用户输入输入的位置找到一个空白行。这可能与否可能不符合您的要求,但我认为它比原始帖子中的步骤更接近。