繁体   English   中英

不明白“ while not”循环的工作原理

[英]Don't understand how a “while not” loop works

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

此代码可以正常工作。 我对此感到困惑。 我们将name设置为'' (空白值),然后在while循环中,我们拥有while not name !='' 为什么这对while name != ''不起作用?

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

只要(not (name != ''))为True while not name != ''就会循环。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM