为什么我的子手游戏无法正常运作

时间:2019-07-03 01:55:56

标签: python-3.x

import random
import sys

word_list = ['zebra',  'memory']

guess_word = []
secret_word = random.choice(word_list)
lenght_word = len(secret_word)
alphabet = 'abcdefghijklmnopqrstuvwxyz'
letter_storage = []

def play_func():
    print('Great moment to play HANGMAN!')

    while True:
        game_choice = input('Do you want to play? ').lower()

        if game_choice == 'yes' or 'y':
            break
        elif game_choice == 'no' or 'n':
            sys.exit('That is a shame! BYE!')
        else:
            print('Please answer only Yes/y or No/n')
            continue

play_func()

def change():
    for character in secret_word:
        guess_word.append("-")

    print('The word you need to guess has', lenght_word, 'characters')
    print('Be aware that you can only enter 1 letter from a-z')
    print('If you want to exit type quit')
    print(guess_word)

def guessing():
    guess_taken = 0
    while  guess_taken < 8:
        guess = input('Pick a letter: ').lower()

        if guess == 'quit':
            break
        elif not guess in alphabet:
            print('Enter a letter from a-z')
        elif guess in letter_storage:
            print('You have already guessed that letter')
        else:
            letter_storage.append()
            if guess in secret_word:
                print('You guessed correctly!')
                for x in range(0, lenght_word):

我认为问题出在这里: 除了没有                         如果secret_word [x] ==猜测:                             guess_word [x] ==猜测                             打印(guess_word)                     如果不是在guess_word中为“-”:                         打印('你赢了!')                         打破                 其他:                     print('字母不在单词中。请重试!')                     guess_taken + = 1                     如果guess_taken == 8:                         print('You Lost,the secret word was:',secret_word)

change()
guessing()
print('Game Over!')


if secret_word[x] == guess:
    guess_word[x] == guess

I think the problem is on these lines of code because they don't actually replace guess_word

1 个答案:

答案 0 :(得分:0)

这有望使您走上正确的道路。我刚刚创建了一个包含所有其他功能的新方法/功能,并修复了append语句。祝好运!

import random
import sys

word_list = ['zebra',  'memory']

guess_word = []
secret_word = random.choice(word_list)
lenght_word = len(secret_word)
alphabet = 'abcdefghijklmnopqrstuvwxyz'
letter_storage = []



def main():
    play_func()
    change()
    guessing()


def play_func():
    print('Great moment to play HANGMAN!')

    while True:
        game_choice = input('Do you want to play? ').lower()

        if game_choice == 'yes' or 'y':
            break
        elif game_choice == 'no' or 'n':
            sys.exit('That is a shame! BYE!')
        else:
            print('Please answer only Yes/y or No/n')
            continue


def change():
    for character in secret_word:
        guess_word.append("-")

    print('The word you need to guess has', lenght_word, 'characters')
    print('Be aware that you can only enter 1 letter from a-z')
    print('If you want to exit type quit')
    print(guess_word)

def guessing():
    guess_taken = 0
    while  guess_taken < 8:
        guess = input('Pick a letter: ').lower()

        if guess == 'quit':
            break
        elif not guess in alphabet:
            print('Enter a letter from a-z')
        elif guess in letter_storage:
            print('You have already guessed that letter')
        else:
            letter_storage.append(guess)
            if guess in secret_word:
                print('You guessed correctly!')
                for x in range(0, lenght_word):
                    print(x)

main()