首页 > 解决方案 > 流控中真假是如何实现的?

问题描述

name = ''
while True:
    Print('Please type your name')
    name = input()
    if name == 'Your name':
        break
print('Thank you')

如果空字符串和 0 是假值,而其他是真值。为什么“while”循环设置为“True”,字符串为空并且代码运行?

标签: python-3.xwhile-loop

解决方案


如果您要问为什么循环在设置为空字符串(falsey)时开始,name那是因为循环本身并不关心.name

它正在使用True,嗯,几乎总是正确的:-)

因此,循环是一个无限循环,唯一的出路是通过break如果您输入的名称与语句中的字符串匹配时触发的if语句。

如果你有类似的东西:

name = ''
while name:
    blahBlahBlah()

那么循环不会开始,因为空字符串被认为是错误的。


推荐阅读