不了解“ while not”循环的工作原理

时间:2019-07-17 22:26:22

标签: python

我目前正在尝试学习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 != ''

2 个答案:

答案 0 :(得分:0)

while循环仅在条件成立后才会循环。将not放在条件反转之前。 not True == Falsenot False == True

只要while not name != ''为True,

(not (name != ''))就会循环。

答案 1 :(得分:0)

not运算符会反转您的条件,因此while循环条件在逻辑上等效于说,而name等于空字符串”。这是因为您拥有语句name != '',然后在其上使用not运算符来对其进行反转。这样,while循环将继续请求用户输入不等于”的输入名称。