x%2 == 0是什么意思?

时间:2013-04-21 09:18:52

标签: python

我确定它非常基本,我应该理解它,但我不会!

我这样做了:

按照收到的顺序循环并打印出数字列表中的所有偶数。不要打印序列中237之后的任何数字。

这是我对这些数字的程序。

numbers = [
    951, 402, 984, 651, 360, 69, 408, 319, 601, 485, 980, 507, 725, 547, 544, 
    615, 83, 165, 141, 501, 263, 617, 865, 575, 219, 390, 984, 592, 236, 105, 942, 941, 
    386, 462, 47, 418, 907, 344, 236, 375, 823, 566, 597, 978, 328, 615, 953, 345, 
    399, 162, 758, 219, 918, 237, 412, 566, 826, 248, 866, 950, 626, 949, 687, 217, 
    815, 67, 104, 58, 512, 24, 892, 894, 767, 553, 81, 379, 843, 831, 445, 742, 717, 
    958, 609, 842, 451, 688, 753, 854, 685, 93, 857, 440, 380, 126, 721, 328, 753, 470, 
    743, 527
]

# your code goes here
for x in numbers:
    if x % 2 == 0:
        print x
    if x == 237:
        break

我得到了正确的解决方案,一切正确,但我不知道== 0是什么。 我使用它的唯一原因是因为它在练习之前的课程中用于另一个例子中!

3 个答案:

答案 0 :(得分:9)

x % 2给出x/2整数除法后的余数(当只处理整数时,例如在这种情况下,这是一种常见类型)。 %称为模运算符。当然,当余数为0时,数字是偶数。

Docs

  

%(modulo)运算符从第一个参数除以第二个参数得到余数。数字参数首先转换为通用类型。零右参数会引发ZeroDivisionError异常。参数可以是浮点数,例如,3.14%0.7等于0.34(因为3.14等于4*0.7 + 0.34。)模运算符总是产生与第二个符号相同的结果操作数(或零);结果的绝对值严格小于第二个操作数的绝对值[2]。

答案 1 :(得分:5)

if x % 2 == 0检查数字是否均匀。

当数字为奇数时,

x % 21,而当数字为偶数时,0为{{1}}。

答案 2 :(得分:1)

== 0表示“等于0(零)”。因此,if foo == 0:表示“如果foo等于0,请执行以下操作”,因此if x % 2 == 0:表示“如果x % 2等于0,请执行以下操作。”