if (n != p and c/n > 5.15):
if (c/n > 5.15 and n !=p):
答案 0 :(得分:6)
由于and
的短路行为,它们可能会有所不同。如果and
的第一个操作数为false,则不评估第二个操作数。因此,如果c/n > 5.15
引发异常(例如,如果n
为零),则第一个if
可能会起作用(即,不会引发任何错误),而第二个引发错误。这是一个例子:
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