逻辑运算符
not 非 ; and 与; or 或。
-
not 逻辑非结果只有 True 和 False
not可以对符号右侧的值进行非运算
对于布尔值,非运算会对其进行取反操作,True变False,False变True
对于非布尔值,非运算会先将其转换为布尔值,然后再取反。
字符串,有内容为True,空字符串为False.
数字,0 为 False ,其它 为 True . -
and 逻辑与
and可以对符号两侧的值进行与运算
只有在符号两侧的值都为True时,才会返回True,只要有一个False就返回False
与运算是找False的
Python中的与运算是短路的与,如果第一个值为False,则不再看第二个值2.1 符号两侧的值为 True 和 False(boolean布尔值) 结果只有 True 和 False
当两侧都为 True 时, 结果才为 True 。其它结果为 False 。
2.2 符号两侧的值为 数字 结果为 右侧值 或 0
当两侧值全非0时,结果取符号右侧值; 当两侧至少有一个值为0时, 结果 为 0 。2.3 符号两侧的值为 字符串, 结果为 右侧值 或 (输出)空行
当两侧值为非空字符串时, 结果取符号右侧值; 当两侧至少有一个值为空字符串时,结果 为(输出)空行 - or 逻辑或
or 可以对符号两侧的值进行或运算
或运算两个值中只要有一个True,就会返回True
或运算是找True的
Python中的或运算是短路的或,如果第一个值为True,则不再看第二个值
3.1 符号两侧的值为 True 和 False(boolean布尔值) 结果只有 True 和 False
当两侧值都为False , 结果才为 False 。3.2 符号两侧的值为 数字 结果为 数字 或 0
当两侧非0, 结果取左侧值;
当其中一值为 0 ,另一值为 非0, 结果取非0值;
当两侧为0, 结果为 0 。3.3 符号两侧的值为 字符串, 结果为 字符串 或 (输出)空行
当两侧非空, 结果取左侧值;
当其中一值为 空 ,另一值为 非空, 结果取非空值;
当两侧为空, 结果为 输出空行 。3.4 符号两侧的值为数字与boolean ,结果为 数字,Boolean值。 非0 , 0 , True,False。
当两侧非0或非False, 结果取左侧值;
当两侧一值非0或非False,另一值为0或False, 结果取非0或True。
当两侧为 0,False, 结果为 右侧值
总结:非布尔值的与或运算
count = 1 while True: name = input('输入账号') pwd = input('输入密码') if count >3: print('超出三次') exit() else: if name == 'alex' and pwd == '3721': print('ok') exit() else: print('err',count) count+=1 continue