我目前正在尝试学习python。我正在研究Al Sweigart的使用Python自动完成无聊的事情。在他的while
循环示例中,他在其not
循环中使用了while
条件(如下代码所示)。
name = ''
while not name != '':
print('Enter your name:')
name = input()
print('How many guests will you have?')
numOfGuests = int(input())
if numOfGuests !=0:
print('Be sure to have enough room for all your guests.')
print('Done')
此代码可以正常工作。我对此感到困惑。我们将名称设置为''
(空白值),然后在while
循环中得到while not name !=''
。为什么这不适用于while name != ''
?
答案 0 :(得分:0)
while循环仅在条件成立后才会循环。将not
放在条件反转之前。 not True == False
,not False == True
while not name != ''
为True, (not (name != ''))
就会循环。
答案 1 :(得分:0)
not运算符会反转您的条件,因此while循环条件在逻辑上等效于说,而name等于空字符串”。这是因为您拥有语句name != ''
,然后在其上使用not
运算符来对其进行反转。这样,while循环将继续请求用户输入不等于”的输入名称。