如果说明发射不管条件如何,则变量不会汇总到一个



请参阅我的评论。他们解释了我的问题。我有一个if语句,无论是什么,都在发射,并且一个变量不正确,我不知道为什么。提前致谢。(以下是当前正在开发的吊员计划。Printbody((最终将打印出整个人。(

import random
words = []
lettersGuessed = []
isGuessed = 0

wordFile = open(r'C:UsersSarahPycharmProjectshangmanwords.txt')
for word in wordFile:
    words.append(word.strip())
limbCount = 0
def printBody(limbCount):
    limbCount += 1
    if limbCount == 1:
        print("n0")
    elif limbCount == 2:
        print("n0")
        print("n |")
    return limbCount
mysteryWord = random.choice(words)
while len(mysteryWord) <= 1:
    mysteryWord = random.choice(words)
for letter in mysteryWord:
    print("?", end = "")
print("n")
def isWon(mysteryWord, lettersGuessed):
    #win conditions
    count = 0
    for letter in mysteryWord:
        if letter in lettersGuessed:
            count += 1
        if count == len(mysteryWord):
            isGuessed = 1
            return isGuessed

count = 0
victory = 0
while not victory:

    guess = input("Guess a letter n")
    if guess.upper() or guess.lower() in mysteryWord:
        lettersGuessed.append(guess)
        for letter in mysteryWord:
            if letter in lettersGuessed:
                print(letter, end ='')
            else:
                print("?", end = '')
    #this statement is firing no matter what and I don't know why
    if guess.upper() or guess.lower() not in mysteryWord:
        #when I call printBody() limbCount increases to one but then stays there. It won't go up to two or three.
        printBody(limbCount)

    print("n")
    count = 0
    victory = isWon(mysteryWord, lettersGuessed)

print("Congratulations, you correctly guessed ", mysteryWord)

尝试:

guess.upper() not in mysteryWord or guess.lower() not in mysteryWord

我相信您正在遇到这个问题,因为它正在检查"是guess.upper()真相",并且由于它是字符串(真相(,它将输入If If语句

最新更新