2013-04-21 8 views
-6

나는 그것이 매우 기초적이다라고 확신한다. 그리고 나는 그것을 이해해야한다. 그러나 나는하지 않는다! 를 통해x % 2 == 0은 무엇을 의미합니까?

루프 그들이받은 동일한 순서로 번호 목록에서 모든 짝수를 출력 :

이 나는이 할 제공하고있다. 순서에서 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이 무엇인지 모릅니다. 연습 전에 다른 예제에서 사용 되었기 때문에 제가 사용한 유일한 이유입니다!

+0

http://www.tutorialsp.com/.com/python/python_basic_operators.htm –

+0

무엇을 입력 했습니까? – user2304000

+0

"== 연산자 python" –

답변

8

x % 2은 정수 나누기 (이 경우와 같이 정수만 처리하는 경우, 그렇지 않으면 공통 유형 인 경우) x/2 이후의 나머지를 제공합니다. %을 모듈러스 연산자라고합니다. 물론 나머지가 0 인 경우 숫자는 짝수입니다.

Docs

:

% (모듈) 연산자 번째로 첫 번째 인수의 분할에서 나머지를 산출한다. 숫자 인수는 먼저 공통 유형으로 변환됩니다. 올바른 인수가 없으면 ZeroDivisionError 예외가 발생합니다. 인수는 부동 소수점 숫자 일 수 있습니다 (예 : 3.14%0.70.34과 같습니다. 3.144*0.7 + 0.34과 같음). 모듈러스 연산자는 항상 두 번째 피연산자 (또는 0)와 같은 부호로 결과를 산출합니다. 결과의 절대 값은 제 2 피연산자 [2]의 절대 값보다 엄격하게 작습니다.

+0

+1. 모듈에 대해 설명하는 참조로 링크 할 수 있습니다. – Maroun

+1

@MarounMaroun 좋은 생각 하나 포함 – jamylak

+0

고맙습니다. 매우 도움이되었습니다. – user2304000

3

if x % 2 == 0은 짝수인지 확인합니다.

x % 2은 홀수 일 때 1이고 짝수 일 때는 0입니다.

+1

그래서 0은 본질적으로 사실입니까? – user2304000

+1

숫자가 0 인 것을 의미합니다.'x % 2'는 나머지를 제공하고 우리는 이것이 0인지 확인합니다. –

+0

'x == y'는'x'가'y'와 같은지 검사하기 때문에'x == 0'은'x'가'0'과 같은지 검사합니다. –

1

== 0은 "0과 동일"을 의미합니다. 따라서 if foo == 0:은 "foo이 0 인 경우 다음 작업 수행"을 의미하므로 if x % 2 == 0:은 "x % 2이 0 인 경우 다음 작업 수행"을 의미합니다.

관련 문제