【发布时间】:2021-03-25 07:58:51
【问题描述】:
我从这几天开始学习 python。我确实理解了 while 和 for 循环的一般概念。然而,此刻我试图理解为一个刽子手游戏编写的代码,我偶然发现了以下代码行:
import random
from words import word_list
def get_word():
word = random.choice(word_list)
return word.upper()
def play(word):
word_completion = "_" * len(word)
guessed = False
guessed_letters = []
guessed_words = []
tries = 6
print("Let's play Hangman!")
print(display_hangman(tries))
print(word_completion)
print("\n")
while not guessed and tries > 0:
有一个名为“guessed”的变量最初设置为 False。
在while循环的开头,它是这样写的:
while not guessed ...
但这不是双重否定吗?当 guessed = False 时,那么不应该 not guessed == True 吗? 这样我们也可以只写 while True 甚至不会需要变量猜测?
或者我如何理解 while not 的一般概念?
感谢任何提示。
【问题讨论】:
-
我认为它更多的是从代码可读性的角度来看。就像在游戏中一开始你没有猜测一样,所以猜测是错误的,你将停留在 lwhile 循环中,直到玩家没有猜到答案。
标签: python while-loop boolean logic