如何在Python中删除raw_input上面的空白行?

2024-07-05 12:14:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一段时间的声明:

print 'Word', len(guessMe), 'letters long.'
print '------------- '
while verify != [] and guessesLeft > 0: 
  print 'You have', guessesLeft, 'guesses left.'
  userGuess = raw_input('Please guess a letter: ')
  userGuess = userGuess.lower()
  userGuessSingleton = list(userGuess)
  userGuessList = userGuessList + userGuessSingleton

  p = lettersList.index(userGuess) 
  del(lettersList[p]) 
  letters = "".join(lettersList) 
  print 'Available letters: ', letters

它输出:

^{pr2}$

为什么其他print语句没有产生这个问题?这跟raw_input()有关吗?在‘你还有13.0次猜测’之后,我该如何删除空白行

注意:Nsh的recommendation不起作用,因为它产生了另一个问题:在"Please guess a letter: a"之后的行上缩进一个空格

Please guess a letter: a
 Letters are 'abc'

Tags: 声明inputrawlenwordprintpleaseguess
3条回答

我用Python2,3检查代码,打印和原始输入之间没有新行。但是,您可以使用一个','将两个打印组合在一行中:

print "This",
print "is",
print "a test"

简而言之,你的代码不应该像你声称的那样做。如果这是所有可能影响输出的代码,那么raw_input前的新行仅对您的情况是唯一的。我用Ubuntu、OS X和Windows 8测试了你的代码,结果如下:

Word 10 letters long.
------------- 
You have 13.0 guesses left.
Please guess a letter: 

没有新线。这可能是一个python错误。在

我有同样的问题,这是一个问题与热情的冠层编辑。这也是这个问题的副本:Why is there a blank line between my print and raw_input lines?

相关问题 更多 >