Python 我创建了一个猜谜游戏,我可以';我不明白为什么my-=命令函数不';行不通

Python 我创建了一个猜谜游戏,我可以';我不明白为什么my-=命令函数不';行不通,python,python-3.x,function,Python,Python 3.x,Function,我是一个非常新的程序员(不到一个月前开始)。我真的需要一些帮助。 抱歉,如果有点长。。。 这种方法的原理是,每次我出错时,我的猜测都会下降(很明显)。或者它应该是,无论如何 这是我为一个刽子手项目创建的原型程序。一旦我做对了,我就可以尝试更大的项目。告诉我上面的完整命令是否对您有不同的作用,或者您对如何缩短或改进它有任何建议,或者对于我来说尝试这么大的项目还为时过早。谢谢大家! import random player_name = input("What is your name? ") p

我是一个非常新的程序员(不到一个月前开始)。我真的需要一些帮助。 抱歉,如果有点长。。。 这种方法的原理是,每次我出错时,我的猜测都会下降(很明显)。或者它应该是,无论如何

这是我为一个刽子手项目创建的原型程序。一旦我做对了,我就可以尝试更大的项目。告诉我上面的完整命令是否对您有不同的作用,或者您对如何缩短或改进它有任何建议,或者对于我来说尝试这么大的项目还为时过早。谢谢大家!

import random

player_name = input("What is your name? ")
print("Good luck, " + player_name + "!")

words = ["program", "giraffe", "python", "lesson", "rainbows", "unicorns", "keys", "exercise"]
guess = " "
repeat = True

word = random.choice(words)
guesses = int(len(word))

while repeat is True:
    print("The word is " + str(len(word)) + " characters long.")
    guess = input("Enter your guess: ")
    if guess != word:
        guesses -= 1
        print("Incorrect")
        print("Try again")
    elif guess == word:
        print("Good job!")
        print(str.capitalize(word) + " is the right answer!")
        repeat = input("Do you want to play again? (input Yes/No)")
        if repeat == "Yes" or "yes":
            word = random.choice(words)
            repeat = True
        elif repeat == "No" or "no":
            print("Better luck next time!")
            repeat = False
        if guesses == 1:
            print("You only have one chance left.")
        if guesses <= 0:
            print("You lose...")
            repeat = input("Do you want to play again? (input Yes/No)")
            if repeat == "Yes" or "yes":
                repeat = True
            elif repeat == "No" or "no":
                print("Better luck next time!")
                repeat = False
随机导入
player\u name=input(“你叫什么名字?”)
打印(“祝你好运,“+player\u name+”!”)
words=[“程序”、“长颈鹿”、“巨蟒”、“课程”、“彩虹”、“独角兽”、“钥匙”、“练习”]
guess=“”
重复=正确
单词=随机。选择(单词)
猜测=int(len(word))
虽然重复是正确的:
打印(“单词是”+str(len(word))+“字符长。”)
猜测=输入(“输入您的猜测:”)
猜猜看!=字:
猜测-=1
打印(“不正确”)
打印(“重试”)
elif guess==单词:
打印(“干得好!”)
打印(str.capitalize(word)+“是正确的答案!”)
repeat=输入(“您想再次播放吗?(输入是/否)”)
如果重复==“是”或“是”:
单词=随机。选择(单词)
重复=正确
elif repeat==“否”或“否”:
打印(“下次好运!”)
重复=错误
如果猜测==1:
打印(“您只剩下一次机会。”)

如果猜测问题在于条件句的范围

while repeat is True:
    print("The word is " + str(len(word)) + " characters long.")
    guess = input("Enter your guess: ")
    if guess != word:
        guesses -= 1
        print("Incorrect")
        print("Try again")
    elif guess == word:
        print("Good job!")
        print(str.capitalize(word) + " is the right answer!")
        repeat = input("Do you want to play again? (input Yes/No)")
        if repeat == "Yes" or "yes":
            word = random.choice(words)
            repeat = True
        elif repeat == "No" or "no":
            print("Better luck next time!")
            repeat = False
    if guesses == 1:
        print("You only have one chance left.")
    if guesses <= 0:
        print("You lose...")
        repeat = input("Do you want to play again? (input Yes/No)")
        if repeat == "Yes" or "yes":
            repeat = True
        elif repeat == "No" or "no":
            print("Better luck next time!")
            repeat = False
当repeat为True时:
打印(“单词是”+str(len(word))+“字符长。”)
猜测=输入(“输入您的猜测:”)
猜猜看!=字:
猜测-=1
打印(“不正确”)
打印(“重试”)
elif guess==单词:
打印(“干得好!”)
打印(str.capitalize(word)+“是正确的答案!”)
repeat=输入(“您想再次播放吗?(输入是/否)”)
如果重复==“是”或“是”:
单词=随机。选择(单词)
重复=正确
elif repeat==“否”或“否”:
打印(“下次好运!”)
重复=错误
如果猜测==1:
打印(“您只剩下一次机会。”)

如果你猜到你没有说问题出在哪里。您看到的行为是什么,与您预期的行为有何不同?只有在guess==word
repeat==“Yes”或“Yes”时才会检查猜测:
并且类似的行不会像您预期的那样起作用。不确定这是否是您的问题,但应该是
repeat==“Yes”或repeat==“Yes”:
repeat = True
gameOver = False

while repeat is True:
    print("The word is " + str(len(word)) + " characters long.")
    guess = input("Enter your guess: ")
    if guess != word:
        guesses -= 1
        print("Incorrect")
        print("Try again")
    elif guess == word:
        print("Good job!")
        print(str.capitalize(word) + " is the right answer!")
        gameOver = True
    if guesses == 1:
        print("You only have one chance left.")
    if guesses <= 0:
        print("You lose...")
        gameOver = True

    if gameOver:
        playAgain = input("Do you want to play again? (input Yes/No)")
        if playAgain == "Yes" or "yes":
            word = random.choice(words)
            repeat = True
            gameOver = False
        elif repeat == "No" or "no":
            print("Better luck next time!")
            repeat = False