擅长:python、mysql、java
<p>虽然我不是一个冠层迷,但我认为这是一个冠层虫的结论是不公平的。我认为这是一个问题,当使用原始输入涉及到包含IPython在一个IDE中。为什么?在</p>
<p>我的测试代码是:</p>
<pre><code>print "Error if there is an extra line before 1"
print "Error if there is an extra line before 2"
guess = raw_input("This line should follow directly")
</code></pre>
<p>我在许多环境中测试了代码(Python2.7):</p>
<ul>
<li>天篷故障</li>
<li>带IPython窗口的Spyder:失败</li>
<li>Jupyter QtConsole中的IPython:失败</li>
</ul>
<p/>
<ul>
<li>伊普顿:很好</li>
<li>Python:很好</li>
<li>Spyder使用Python控制台。在</li>
</ul>
<p>因此,我得出结论,IPython在非终端环境中出于某种原因在raw_input()之前生成一个额外的换行符。请注意,这仍然适用于使用输入的python3.5。在</p>
<p><a href="https://i.stack.imgur.com/yf8Hj.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/yf8Hj.png" alt="enter image description here"/></a></p>