使用模的Python if语句

使用模的Python if语句,python,if-statement,Python,If Statement,我创建了一个名为“l”的列表,然后创建了一个for循环,其中包含一个if语句。假设if语句检查num是否为偶数(等于0),如果为偶数,则将打印num,如果不是,则将打印“奇数” 为什么第一个打印错误(2 4奇数!) 第二个打印正确(奇数2奇数4奇数) 我已经尝试过改变第一个语句的间距,但是我不断得到语句异常 l = [1, 2, 3, 4, 5] # First for num in l: if num % 2 == 0: print num else: print 'Odd numb

我创建了一个名为“l”的列表,然后创建了一个for循环,其中包含一个if语句。假设if语句检查num是否为偶数(等于0),如果为偶数,则将打印num,如果不是,则将打印“奇数”

为什么第一个打印错误(2 4奇数!) 第二个打印正确(奇数2奇数4奇数)

我已经尝试过改变第一个语句的间距,但是我不断得到语句异常

l = [1, 2, 3, 4, 5]
# First

for num in l:
if num % 2 == 0:
    print num
else:
print 'Odd number!'

print
print

#Second

for num in l:
    if num % 2 == 0:
        print num
    else:
        print 'Odd number!'
输出:

弗斯特 第二
缩进。Python使用缩进来计算代码中的作用域,所以对于第一个for循环,它什么都不做。将其重新格式化如下:

for num in l:
    if num % 2 == 0:
        print num
    else:
        print 'Odd number!'

第二段代码正确缩进,这就是它工作的原因。

Python关心行首有多少空格。这一行:

if num % 2 == 0:

未被视为for循环的一部分。

缩进在Python
if
语句和
for
循环中不是可选的
for num in l:
    if num % 2 == 0:
        print num
    else:
        print 'Odd number!'
if num % 2 == 0: