Python If语句差异

时间:2016-08-03 06:09:14

标签: python-2.7 if-statement for-loop

我尝试学习与For循环类型集成的If语句表单,我无法理解这些代码之间的差异,因为它们给出了相同的结果:

grade = [100, 97, 73, 56, 78,34]
for i in range(0,len(grade)):
    if grade[i]%2 == 0:
        grade[i]= grade[i]+2
    if grade[i]%3 ==0:
        grade[i]= grade[i]+3
    if grade[i]%5 ==0:
        grade[i]= grade[i]+5
print grade

和此:

grade = [100, 97, 73, 56, 78,34]
for i in range(0,len(grade)):
    if grade[i]%2 == 0:
        grade[i]= grade[i]+2
        if grade[i]%3 ==0:
                grade[i]= grade[i]+3
            if grade[i]%5 ==0:
                grade[i]= grade[i]+5
print grade

2 个答案:

答案 0 :(得分:2)

如果您有if个陈述,则可能会有一个OR个匹配。 当您嵌套if语句时,要完成您的条件必须匹配一个AND另一个。

在第一种情况下考虑:10。它将通过%2 == 0%5 == 0,但不会通过%3 == 0。在第二种情况下,它只会通过第一次测试而不会进入嵌套测试。

例如:30将在两种情况下都传递所有if语句。

答案 1 :(得分:1)

两个代码都相同,但主要区别在于第一个代码包含三个if if从上到下执行或逐个执行,第二个代码包含三个嵌套if条件语句,如果第一个语句为true则执行

learn more from c-sharpcorner.com