否则执行if if for

时间:2018-02-05 15:22:58

标签: python for-loop if-statement

我有一个'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
>>> 

2 个答案:

答案 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)