Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 Python If语句差异_Python 2.7_If Statement_For Loop - Fatal编程技术网

Python 2.7 Python If语句差异

Python 2.7 Python If语句差异,python-2.7,if-statement,for-loop,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:

我试图学习与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

当您的
if
语句一个接一个地出现时,可能会有一些内容与一个
或另一个
相匹配。
当您嵌套了
if
语句时,要检查您的条件必须匹配一个
和另一个

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


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

两种代码相同,但主要区别是第一个代码包含三个自上而下执行的if条件,或者一个接一个地执行,第二个代码包含三个嵌套的if条件语句,如果第一个语句为true,则执行该语句


我现在就试一下——第二种情况是通过3个条件,因为当前一个条件匹配时,您添加了2、3和5。如果
100
,通过了第一次测试,则添加
2
,这将使您通过
102
,并通过第二次测试,然后使您通过
105
,因此它也通过了第三次测试。如果
s,它将通过所有三个
if,但不是所有时间。你的答案与公认的答案有很大不同吗?