Python中如何实现input输入与print输出无换行合并为单行显示?
实现方案
首先说明换行原因:Python的input()函数执行时,你按下回车确认输入后,终端会自动插入一个换行符,所以后续的print输出内容会默认显示在第二行。
可以根据你的使用场景选择以下两种实现方式:
方案1:无需保留输入时的提示(最简洁)
直接取消input的提示参数,读取输入后统一格式化输出整行内容:
a = int(input()) print("Enter a number: %d Your number: %d" % (a, a))
运行时输入4后,会直接输出你需要的单行内容:Enter a number: 4 Your number: 4
方案2:需要保留输入时的提示
如果要求用户输入阶段就显示Enter a number: 的提示,可以用ANSI转义字符控制光标位置,消掉输入后的换行:
import sys # 适配Windows系统开启ANSI转义支持 if sys.platform == "win32": import os os.system("") a = int(input("Enter a number: ")) # 光标上移一行,清空当前行残留内容 print("\033[F\033[K", end="") print("Enter a number: %d Your number: %d" % (a, a))
运行时用户输入过程中能看到正常的输入提示,输入完成后也会输出合并后的单行内容。
内容的提问来源于stack exchange,提问作者allen nguyen
相关产品推荐
相关产品推荐

