我一直在疯狂地搜索,但我还没有找到为什么我的代码会在原始输入和打印行之间多打印一行空行。在
它看起来是这样的:
print "--------------------------"
print "You have " + str(guesses) + " guesses left."
print "Available Letters: " + getAvailableLetters(lettersGuessed) + "."
letterGuessed = raw_input("Please guess a letter: ")
这是我得到的输出:
^{pr2}$我希望它看起来像这样:
--------------------------
You have 8 guesses left.
Available Letters: abcdefghijklmnopqrstuwxyz.
Please guess a letter:
如果有人能解释为什么会这样,我会非常感激的!在
下面是getAvailableLetters的代码:
def getAvailableLetters(lettersGuessed):
import string
str = string.ascii_lowercase
for char in lettersGuessed:
if char in str:
str = str.replace(char, "")
return str
完整代码:https://gist.github.com/anonymous/cd6314470a5696181c10
有些函数没有使用,请忽略它们。在
编辑根据评论中的讨论得出的结论是,这是一个Canopy IDE中的bug。在
你给我们看的代码不是你正在运行的代码。在
你的输出是:
应在末尾加上一个圆点:
^{pr2}$但是
getAvailableLetters
还在其返回值的末尾添加一个点。在所以输出应该是:
我的结论是你展示给我们的代码和你运行的代码不可能是一样的。我建议将代码粘贴到某个地方以便我们进行全面检查。Github Gist就可以了。在
虽然我不是一个冠层迷,但我认为这是一个冠层虫的结论是不公平的。我认为这是一个问题,当使用原始输入涉及到包含IPython在一个IDE中。为什么?在
我的测试代码是:
我在许多环境中测试了代码(Python2.7):
因此,我得出结论,IPython在非终端环境中出于某种原因在raw_input()之前生成一个额外的换行符。请注意,这仍然适用于使用输入的python3.5。在
相关问题 更多 >
编程相关推荐