为什么我的 Python 代码会忽略我的 if 语句并退出?

Why is my Python code ignoring my if-statement and quitting?

我正在尝试编写一个 python 可能有多个玩家的单词益智游戏,并且根据找到的单词的长度给出分数。

这是我的 'plays' 游戏功能,但是,它总是导致“游戏结束!”不管我的回答是对还是错。所以每次都是退出游戏

def play_game(players, board , words, answers):
found_words = []
num_remaining = num_words_on_puzzle - len(found_words)
player_num = 0
while num_remaining > 0:
    print_headers(players, board, found_words, num_remaining)

    guess_input = input("{player}, make a guess: ".format(
        player=players[player_num % len(players)][0]))
    
    # Allow player to quit
    if guess_input.lower() == 'q' or 'quit':
        break 

    # Determine if the guess is valid
    guess = convert_guess(guess_input)
    
    if is_valid_answer(answers, guess):
        # Update a players score since answer is valid
        update_score(players[player_num % len(players)], matching_answer(answers, guess))
        # Add this word to found_words list
        found_words.append(matching_answer(answers, guess))
        
        print("Congratulations, you found '%s'." % matching_answer(answers, guess))
        print("That's %d points(s)." % word_score(matching_answer(answers, guess)))

    else:
        print("Sorry, that is incorrect.")

    num_remaining = num_words_on_puzzle - len(found_words)
    player_num += 1

print("\nGame over!\n")
print("The final scores are: \n")
print_score(players)
print(answers)

希望有人能帮我看看我的问题出在哪里。

行:

if guess_input.lower() == 'q' or 'quit':

总是计算为 True,因为它是 if (uess_input.lower() == 'q') or ('quit')(False) or (True) --> True 因为任何 String != ''True

改变

if guess_input.lower() == 'q' or 'quit':

if guess_input.lower() in ['q', 'quit']