Python中input()输入无法换行打印及重复输出问题求助
问题分析与解决
你的代码出现两个问题:
- 输入内容和提示文本挤在同一行:
input()函数的提示字符串里的\n没让光标跳到下一行等待输入(不同环境下input对提示末尾换行的处理存在差异); - 输入内容重复输出:终端默认会回显你输入的内容,而你又用
print()把input()获取到的内容打印了一遍,相当于输出了两次。
解决方案
根据你“让输入内容显示在提示下一行、避免重复输出”的需求,可按以下方式修改代码:
方案1:仅显示提示并接收输入(无需额外打印输入内容)
如果不需要把输入内容再打印一遍,直接用input()显示提示即可,终端回显的输入会自动在提示下一行:
input('Hey, how are you doing???\n')
或者更稳妥的方式——先单独打印提示,再接收输入:
print('Hey, how are you doing???') input()
方案2:需要保留输入内容的输出(仅打印一次)
如果确实需要把输入内容打印出来,先接收输入再打印,同时确保提示单独一行:
print('Hey, how are you doing???') response = input() print(response)
执行流程:
- 打印提示文本并自动换行
- 光标跳到下一行等待输入,输入内容回显在该行
- 打印输入的内容(按需保留)
内容的提问来源于stack exchange,提问作者SKM
相关产品推荐
相关产品推荐

