i= 0
if i == 1 or 5:
print(i)
此时并非是判断i是否等于1或者5,而是(if i == 1) or (5):
所以这个if判断语句前半段 i==1为false, 则继续判断后半句;后半段为5,此时5为非零,即为true。所以整体判断语句为true,则输出i。
要想判断i是否等于1 或者5,需要写为:
if i == (1 or 5):
print(i)
或者
if i == 1 or i ==5:
print(i)
或者
if i in (1, 5):
print(i)