猫史档案馆


【Python作品分享】拯救喵人【作品秀】

用户:ExpelliarmusExpelliarmus查看:0 回复:1 评论:0 创建时间:2019-11-30T18:23:23


【作品展示】

center_image

 

【作品介绍】

喵人要喵了!但是有挽救他生命的办法,他要和你玩一个游戏。有若干个未知字母,每次猜一个字母,猜对便提示答对了并且告诉此字母在单词的位置。如果猜错6次的话。。。喵人就喵了!珍爱生命,远离喵!一起来拯救小人的命运吧!

 

【作品源代码】

import random

HANGMAN_PICS = ['''
           +---+
               |
               |
               |
              ===''', '''
           +---+
          O   |
              |
              |
              ===''', '''
          +---+
          O   |
          |   |
              |
              ===''', '''
          +---+
           O   |
          /|   |
               |
              ===''', '''
          +---+
          O   |
         /|\  |
              |
             ===''', '''
         +---+
          O   |
         /|\  |
         /    |
             ===''', '''
         +---+
          O   |
         /|\  |
         / \  |
        ===''']
words = 'cat words'.split(' ')


def getRandomWord(wordList):
    wordIndex = random.randint(0, len(wordList) - 1)
    return wordList[wordIndex]


def displayBoard(missedLetters, correctLetters, secretword):
    print(HANGMAN_PICS[len(missedLetters)])
    print()

    print('Missed letters:', end=' ')
    for letter in missedLetters:
        print(letter, end=' ')
    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()


def getGuess(alreadyGuessed):
    while True:
        print('Guess a letter:')
        guess = input()
        guess = guess.lower()
        if len(guess) != 1:
            print('Please enter a single letter.')
        elif guess in alreadyGuessed:
            print('You have already guessed that letter. Choose again.')
        elif guess not in 'abcdefghijklmnopqrstuvwxyz':
            print('Please enter a LETTER.')
        else:
            return guess


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


print('H A N G M A N')
missedLetters = ''
correctLetters = ''
secretWord = getRandomWord(words)
gameIsDone = False

while True:
    displayBoard(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('Yes! The secret word is ' + secretWord + '! you have won!')
            gameIsDone = True
    else:
        missedLetters = missedLetters + guess
        if len(missedLetters) == len(HANGMAN_PICS) - 1:
            displayBoard(missedLetters, correctLetters, secretWord)
            print('You have run out of guesses!\nAfter ' + str(len(missedLetters)) + ' missed guesses and ' + str(
                len(correctLetters)) + ' correct guesses,the word was "' + secretWord + '"')
            gameIsDone = True
    if gameIsDone:
        if playAgain():
            missedLetters = ''
            correctLetters = ''
            gameIsDone = False
            secretWord = getRandomWord(words)
        else:
            break

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
比比芭比波哩波比比芭比波哩波

没看懂

点赞0


评论