了解 python 猜谜游戏代码中的一个组件

Understanding a component in python guessing game code

我是 Python 的新手,正在使用一些在线资源来学习东西。 我正在努力思考一个猜谜游戏,但我对代码中的一个条件感到困惑。

secret_word = "giraffe"
guess = ""
guess_count = 0
guess_limit = 3
out_of_guesses = False

while guess != secret_word and not(out_of_guesses):
     if guess_count < guess_limit:
          guess = input("Enter a guess: ")
          guess_count += 1
     else:
          out_of_guesses = True

if out_of_guesses:
     print("You Lose!")
else:
     print("You Win!")

我可以遵循代码,但在 while 循环中的 not(out_of_guesses) 条件下迷路了。有人可以解释这部分吗?

据我了解,它说当 secret_word 不等于猜测且 out_of_guess 为真时,继续循环,否则跳出循环。我可能错了。谁能帮我理解一下。

你的 while 循环意味着:虽然 guess 不等于 secret_word 而不是 out_of_guesses - 这意味着你的 out_of_guesses 必须是 false => 这样 not(out_of_guesses) 可以是 True;然后循环保持运行,否则,跳出循环。

分成两部分,你有:

guess != secret_word

这意味着 guess 不等于 secret_word

清楚

not(out_of_guesses)

not out_of_guesses 正在检查变量是否为 False

其中 notbool 翻转到相反的位置。

示例:

>>> x = False
>>> x
False
>>> not x
True

and 意味着两个条件都必须是 True 才能 while 循环到 运行


编辑

当至少有一个条件为 False 时,您将离开 while 循环。


guess = input("Enter a guess: ")secret_word

时,第一个条件将是 False

第二个条件将是 Falseout_of_guesses = True 时(即 运行 行)。 运行 当 guess_count < guess_limit