Python 3 上输入提示前的空行
Empty line before input prompt on Python 3
当我运行代码
print("Hi")
input("Hello: ")
在 Python Tutor (Python 3.6) 上,我得到了预期的输出(忽略我的输入)
Hi
Hello:
但是,当我 运行 在我的计算机上使用 Spyder 3.3.1 和 Python 3.7 时,我得到了输出
Hi
Hello:
我想了解为什么Spyder中会出现这个空行,以及如何去掉它。
OP 的问题分为两部分:
- "我想了解为什么这个空行会出现在 Spyder 中,..."
- “……以及如何摆脱它。”
Martijn Pieters 的 , where he points out that this is a known issue,只解决了第一部分。这个答案解决了第二个问题。
执行以下操作以删除 print
的默认换行符:
print("Hi", end="")
input("Hello: ")
哪个 return:
Hi
Hello:
注意:这有点hack,即它不会删除input
之前的换行符。因此,如果你在 Spyder 以外的任何地方 运行 你的脚本,上面的代码将 return:
HiHello:
由于这是 Spyder 特有的一个小怪癖,容忍它并继续前进可能更有意义。
你没有做错任何事。斯派德是。这是一个confirmed bug, issue #5242.
开发人员似乎没有时间修复它,它自 2017 年 9 月以来一直存在:
Thanks for reporting. Although annoying, this is a simple bug and we don't have time to fix it right now. Sorry.
当我运行代码
print("Hi")
input("Hello: ")
在 Python Tutor (Python 3.6) 上,我得到了预期的输出(忽略我的输入)
Hi
Hello:
但是,当我 运行 在我的计算机上使用 Spyder 3.3.1 和 Python 3.7 时,我得到了输出
Hi
Hello:
我想了解为什么Spyder中会出现这个空行,以及如何去掉它。
OP 的问题分为两部分:
- "我想了解为什么这个空行会出现在 Spyder 中,..."
- “……以及如何摆脱它。”
Martijn Pieters 的
执行以下操作以删除 print
的默认换行符:
print("Hi", end="")
input("Hello: ")
哪个 return:
Hi
Hello:
注意:这有点hack,即它不会删除input
之前的换行符。因此,如果你在 Spyder 以外的任何地方 运行 你的脚本,上面的代码将 return:
HiHello:
由于这是 Spyder 特有的一个小怪癖,容忍它并继续前进可能更有意义。
你没有做错任何事。斯派德是。这是一个confirmed bug, issue #5242.
开发人员似乎没有时间修复它,它自 2017 年 9 月以来一直存在:
Thanks for reporting. Although annoying, this is a simple bug and we don't have time to fix it right now. Sorry.