Python if语句使用Modulo

时间:2016-05-18 02:01:50

标签: python if-statement

我列了一个名为“' l'然后我创建了一个带有if语句的for循环。 if语句假设检查num是否为偶数(等于0),如果是,则它将打印num,否则它将打印"奇数#34;。

为什么第一个打印不正确(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!'

输出:

第一

2
4
Odd number!

第二

Odd number!
2
Odd number!
4
Odd number!

2 个答案:

答案 0 :(得分:1)

压痕。 Python使用缩进来计算代码中的范围,因此对于第一个for循环,它不会做任何事情。像这样重新格式化:

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

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

答案 1 :(得分:0)

Python关心的是一行开头有多少空格。这一行:

if num % 2 == 0:

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