c = 0
n = 0
p = 0
# No error, no output because the condition was not true
>>> if (n != p and c/n > 5.15):
... print "Okay!"
# Raises an error
>>> if (c/n > 5.15 and n !=p):
... print "Okay!"
Traceback (most recent call last):
File "<pyshell#23>", line 1, in <module>
if (c/n > 5.15 and n !=p):
ZeroDivisionError: division by zero
由于
and
的短路行为,它们可能不同。如果and
的第一个操作数为false,则不计算第二个操作数。因此,如果c/n > 5.15
引发异常(例如,如果n
为零),则第一个if
可能会工作(即不会引发任何错误),而第二个会导致错误。举个例子:相关问题 更多 >
编程相关推荐