如果声明 - 差异 - python 2x

时间:2015-11-16 11:20:54

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

我不明白两个代码之间的区别:

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

第二个代码:

 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

1 个答案:

答案 0 :(得分:0)

第一个将评估第二个if / elif块中的每个语句,只有前一个语句通过时才会评估每个语句(为True)。

此外,在第一个等级将被修改,只是在一个块为真的情况下,因此对于100,它将修改第一个块中的等级,而不是进入其他块,如果一个数字可以被2,3整除它只会被第一个块修改,依此类推。在第二个中,如果一个数字可被2,3整除,则5级将修改它3次,每个块一次。