首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python Hangman输出

Python Hangman输出
EN

Stack Overflow用户
提问于 2014-12-05 11:20:26
回答 1查看 274关注 0票数 0

当我尝试运行程序时,当输出被问到“到目前为止你已经猜到了”时,输出不是在同一行的提示符上,而是在行下面的it.Any方式下解决这个问题?另外,程序中是否还有其他需要修复的错误?

代码语言:javascript
复制
HANGMANPICS = [''' ''', ''' 


    |   




 ''', '''


    |   
    0   



 ''', '''


    |   
    0   
    |   


 ''', '''


    |   
    0   
   /|   


 ''', '''


    |   
    0   
   /|\  


 ''', '''


    |   
    0   
   /|\  
   /    

 ''', '''


    |   
    0   
   /|\  
   / \  

''']

def getSecret_Word(): 
while True:
    wordList =input('Please enter a word to be guessed\nthat does not contain ? or white space: ')
    wordList = wordList.strip()
    if ' ' and '?' not in wordList: #makes sure that the word is valid
        break
return wordList #returns back to wordList if invalid

def displayBoard(HANGMANPICS, missedLetters, correctLetters, secretWord):
print(HANGMANPICS[len(missedLetters)])
print()
blanks = '?' * len(secretWord)

for i in range(len(secretWord)): 
    if secretWord[i] in correctLetters:
        blanks = blanks[:i] + secretWord[i] + blanks[i+1:]

for letter in blanks: 
    print(letter, end='')
  print()


print('So far you have guessed:', ', '.join(sorted(missedLetters+correctLetters)))
print()



def getGuess(alreadyGuessed):
  while True:
    guess = input()
    guess = guess.lower()
    if len(guess) != 1:
        print('You can only guess a single character.')
    elif guess in alreadyGuessed:
        print('Please enter your next guess:\nYou have already guessed the character:',guess)
    elif guess.isspace():
            print('You must enter a guess.')
    else:
        return guess

def playAgain():
  print('Do you want to play again? (yes or no)')
    return input().lower().startswith('y')


missedLetters = ''
correctLetters = ''
secretWord = getSecret_Word()
gameIsDone = False

while not gameIsDone:
  displayBoard(HANGMANPICS, missedLetters, correctLetters, secretWord)

guess = getGuess(missedLetters + correctLetters)

if guess in secretWord:
    correctLetters = correctLetters + guess


    foundAllLetters = True
    for i in range(len(secretWord)):
        if secretWord[i] not in correctLetters:
            foundAllLetters = False
            break
    if foundAllLetters:
        print('You correctly guessed the secret word: ', secretWord)
        gameIsDone = True
else:
    missedLetters = missedLetters + guess


    if len(missedLetters) == len(HANGMANPICS) - 1:
        print(HANGMANPICS[len(missedLetters)])
        print('You failed to guess the secret word:',secretWord)
        gameIsDone = True


if gameIsDone:
        break
EN

回答 1

Stack Overflow用户

发布于 2014-12-05 11:36:19

如果希望省略print语句后的换行符,只需使用print("string", end="")

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27308179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档