如何在Python中调整输入位置?Repl.it环境求助
解决Python输入光标定位问题
为什么
\b不生效:input()函数会先将所有提示文本一次性输出到终端,\b属于提示文本的一部分,只会让终端删除提示文本的最后一个字符,无法改变输入光标的位置。解决方案:使用ANSI终端转义序列控制光标位置,Repl.it的终端完全支持该序列。
修改后的代码示例:
# 打印菜单界面 print("╒══════════╤══════════╤══════════╕\n" +"│1 - ATTACK│ 2 - HEAL │ 3 - FLEE │\n" +"╞══════════╧══════════╧══════╤═══╡\n" +"│ Enter your choice here --> │ X │\n" +"╘════════════════════════════╧═══╛", end='') # ANSI转义序列:\033[<行号>;<列号>H 用于将光标移动到指定位置 # 这里X在第4行、第33列(行号列号从1开始计数) print("\033[4;33H", end='') # 获取输入(无额外提示文本) choice = int(input(""))
- 补充说明:
- ANSI转义序列里的行号和列号是根据你的菜单布局计算的,如果后续调整菜单样式,需要重新数清楚目标位置的对应数值。
- Repl.it搭载的Python版本通常为3.8及以上,无需担心代码兼容性问题。
内容的提问来源于stack exchange,提问作者Pricey
相关产品推荐
相关产品推荐

