我试图为游戏修复我的while循环

时间:2016-03-28 18:15:43

标签: python python-3.x while-loop

我尝试用我的代码做的是,我希望玩家有4次机会通过在该单词上输入一个数字来选择8个单词中的正确答案({{1}给这个词一个数字)如果玩家选择了正确的单词他/她将赢得和循环,否则玩家将不得不再次选择直到他/她失去机会。(我试过这个enumerate(words))我使用remainingGuess -=1使其成为布尔值。我的问题是如何使我的循环工作,因为它目前已被打破,我不知道该怎么做。谢谢。

True

2 个答案:

答案 0 :(得分:1)

  • available_words = random.sample(Names, 7)而不是available_words = random.sample(Names, 8) 8个项目不够。

  • while remainingGuess > 0 and False:更改为while remainingGuess > 0:,因为False会避免您循环到循环

  • print(userNum)

    之后
    if wordlist[userNum] == one:
        win = True
        print("You are Correct")
    else: 
        print("You  incorrect")
    
    if win == true:
        remainingGuess = 0
    else:
        remainingGuess -=1
    

仅在remainingGuess时才递减wordlist[userNum] == one。每次循环时都必须递减。如果你赢了,要打破循环,将remainingGuess设置为0。

  • 您没有致电Main()

  • wordlist[userNum]更改为available_words[userNum]

  • 在初始化之前,您使用的是win变量。在while循环之前添加win = False

我试图运行时发现你的代码充满了错误。这是固定版本:

import random
Names = ['AETHER', 'BADGED', 'BALDER', 'BANDED', 'BANTER', 'BARBER', 'BASHER'] #ect, etc

def wordlist(words):
    for index, item in enumerate(words):
        print(index, ") ", item, sep='')

available_words = random.sample(Names, 7)
one = random.choice(available_words)

print("Welcome to the Guess-The-Word Game.\nThe Password is one of these words:")
wordlist(available_words)


def Main():
    remainingGuess = 4
    win = False
    while remainingGuess > 0:
        wordlist(available_words)
        print("Guesses remaining: ", remainingGuess)
        userNum =  int(input("Enter guess number between 0-7: "))
        print(userNum)
        if available_words[userNum] == one:
            win = True
            print("You are Correct")
        else: 
            print("You  incorrect")
        if win == True:
            remainingGuess = 0
        else:
            remainingGuess -= 1

Main()

答案 1 :(得分:0)

如果两个参数都是and语句,则只返回True。因此,如果您键入and False,它将永远不会运行。只需删除此部分