问题一: while 后面跟的是以个布尔值,条件返回的就是一个布尔值,True 在 Python 中就是一个关键字,表示真,跟他相对应的是 False ,表示的是假。所以, while 后面写的是 True ,
像这样的条件一直为 True ,这个就是一个死循环。
在 Python 中只要不是 0 、 None 以及其他的空集合,都会认为是真,否则都是假。所以 while 后面写这 count ,因为 count 是一个变量。
问题二:如果逻辑运算两边如果不是布尔值,那返回的就不是一个布尔值了,并且逻辑运算是按照短路逻辑运算的,or 运算只要一个为真,就不会在往后在继续判断了。
and 运算只要有一个 为假,就不会再继续判断了。
not or and 是有优先级的,not 先算,再算 and ,最后算 or 。
所以运行结果是:not 1 为 False ,0 and 1 ,返回 0 ,3 and 4 为 4 因为是短路逻辑, 5 and 6 是 6, 7 and 8 是 8 .
8 and 9 是 9 , 最后看 or 运算, False and 0 是 0, 0 or 4 是 4 ,4 就是真 所以返回的是 4 。
问题三:这行代码就是下面一行代码的简便形式: