我有一个'if'与'else'一起执行的问题,当值等于零时,缩进看起来很好,所以else不是for-else循环的一部分:
for i in range(0,5):
if i == 0:
print("i0 =", i)
if i == 2:
print("i2 =", i)
else:
print("else i=", i)
i0 = 0
else i= 0
else i= 1
i2 = 2
else i= 3
else i= 4
>>>
答案 0 :(得分:4)
你没有任何问题。如果您希望这两个ifs形成单个条件分支,则第二个应该是elif
。现在,循环体由两个独立的if语句组成,它们的执行方式如下:首先,i与零进行比较;再次,我与2进行比较。因此,当它为0时,触发第一个if then-block,并且因为它不是2,所以触发第二个if else块也被触发
你的意思是
吗?for i in range(0,5):
if i == 0:
print("i0 =", i)
elif i == 2:
print("i2 =", i)
else:
print("else i=", i)
答案 1 :(得分:0)
您可能会在声明中使用第二个“if”使第一个条件无效。我不知道python因此我不知道任何其他条件逻辑,但它应该是这样的:
for i in range(0,5):
if (i == 0 or i == 2):
print("if i =", i)
else:
print("else i=", i)