如何在 Python 中正确使用 'not()' 运算符
How to properly use the 'not()' operator in Python
学习如何在 Python(再次)中编写代码,为此我正在开发这个简单的猜词游戏。代码(写在下面)来自我一直关注的 YouTube 视频(freeCodeCamp 的学习 Python - 初学者完整课程 [教程])。
我不明白的是 not(guesses_complete)
在这段代码中的逻辑意义。
根据我的理解,代码暗示 while
循环执行并继续,只要玩家的猜测不是秘密单词并且 guesses_complete
的布尔值是 True(因为初始guesses_complete
的值为 False,因此 not()
表示该值必须为 True 才能执行)。
但是 guesses_complete
的初始值设置为 False,所以 while
循环根本不应该执行。
# The player gets 3 chances to guess the secret word
# If guessed correctly within the given chances, the player wins
# If guessed incorrectly and there are no more chances, the player loses
secret_word = "Red"
guess = ""
counter = 0
guess_limit = 3
guesses_complete = False
while guess != secret_word and not(guesses_complete):
if counter < guess_limit:
guess = input("Enter guess: ")
counter += 1
else:
guesses_complete = True
if guesses_complete:
print("Loser")
else:
print("Winner")
代码按原样运行,但我不知道为什么。我很确定这只是我对 not()
运算符的理解很薄弱。如果有人帮我解决这个问题,我将不胜感激。
我相信 not() 运算符的计算结果相反。因此,如果它设置为 false,它会将变量切换为 true,如果初始变量值为 true,则 not() 将其设置为 false。我认为它是相反的日期功能。
not
关键字反转布尔值(真值或假值),将 True
变为 False
。这意味着如果你想要一段代码 运行 如果变量为假而不是使用 not
你可以使 运行。帮助示例:
finished_game = False
while not finished_game:#While the game isn't finished
#run game code
这有意义吗?根据我的经验,not
关键字意味着您可以将 False
用作 True
。
希望有所帮助。
not()
的工作方式确实与您的想法相反。 not(guesses_complete)
在这种情况下与使用 guesses_complete == False
相同。如果 guesses_complete == False
,则此语句将 return True
,这意味着应该执行 while 循环。当 guesses_complete
的值设置为 False
.
时,not(guesses_complete)
也会发生同样的情况
not 关键字是逻辑运算符。如果语句不为真,return 值为真,如果语句不为假,return 值为假。 Source。在上面的代码中,我们希望用户一直玩下去,直到他还剩下一些猜测,即,如果 guesses_complete
为 False,我们希望循环执行。
学习如何在 Python(再次)中编写代码,为此我正在开发这个简单的猜词游戏。代码(写在下面)来自我一直关注的 YouTube 视频(freeCodeCamp 的学习 Python - 初学者完整课程 [教程])。
我不明白的是 not(guesses_complete)
在这段代码中的逻辑意义。
根据我的理解,代码暗示 while
循环执行并继续,只要玩家的猜测不是秘密单词并且 guesses_complete
的布尔值是 True(因为初始guesses_complete
的值为 False,因此 not()
表示该值必须为 True 才能执行)。
但是 guesses_complete
的初始值设置为 False,所以 while
循环根本不应该执行。
# The player gets 3 chances to guess the secret word
# If guessed correctly within the given chances, the player wins
# If guessed incorrectly and there are no more chances, the player loses
secret_word = "Red"
guess = ""
counter = 0
guess_limit = 3
guesses_complete = False
while guess != secret_word and not(guesses_complete):
if counter < guess_limit:
guess = input("Enter guess: ")
counter += 1
else:
guesses_complete = True
if guesses_complete:
print("Loser")
else:
print("Winner")
代码按原样运行,但我不知道为什么。我很确定这只是我对 not()
运算符的理解很薄弱。如果有人帮我解决这个问题,我将不胜感激。
我相信 not() 运算符的计算结果相反。因此,如果它设置为 false,它会将变量切换为 true,如果初始变量值为 true,则 not() 将其设置为 false。我认为它是相反的日期功能。
not
关键字反转布尔值(真值或假值),将 True
变为 False
。这意味着如果你想要一段代码 运行 如果变量为假而不是使用 not
你可以使 运行。帮助示例:
finished_game = False
while not finished_game:#While the game isn't finished
#run game code
这有意义吗?根据我的经验,not
关键字意味着您可以将 False
用作 True
。
希望有所帮助。
not()
的工作方式确实与您的想法相反。 not(guesses_complete)
在这种情况下与使用 guesses_complete == False
相同。如果 guesses_complete == False
,则此语句将 return True
,这意味着应该执行 while 循环。当 guesses_complete
的值设置为 False
.
not(guesses_complete)
也会发生同样的情况
not 关键字是逻辑运算符。如果语句不为真,return 值为真,如果语句不为假,return 值为假。 Source。在上面的代码中,我们希望用户一直玩下去,直到他还剩下一些猜测,即,如果 guesses_complete
为 False,我们希望循环执行。