2015-01-20 5 views
-1

변수 큐브 _by_four은 큐브가 4로 균등하게 나눌 수있는 경우에만 숫자 1에서 10까지의 큐브로 구성되어야합니다.
나는 내 출력사전 파이썬 코드가 잘못된 출력을 제공합니다.

[2, 4, 6, 8] 

문제 IS-아차, 다시 시도 - 이것도

cubes_by_four = [i for i in range(1,10) if (i**3)%4 == 0] print cubes_by_four 

를 점프는 - 시도. cubes_by_four의 길이가 잘못된 것 같습니다. 5 개의 값을 가져야합니다.

온라인 자습서 학습 사이트 codeacademy.com에서 저에게 오류를주십시오 ..
어디서 실수해야합니까? 도와주세요.

답변

3

귀하의 range(1,10)은 숫자 1-9를 반환합니다. 번호 1-10을 얻으려면 range(1,11)이 필요합니다. 자세한 내용에 대한 the docs을 볼 수 있지만, 간단히 말하면 : 최종 요소 (다음은 정지 이상의 큰의 음수 인 경우 step가 긍정적이라고 가정) 적은 정지보다 어디

range(start, stop, step)이 목록 [start, start + step, start + 2*step, ...]을 반환합니다.

귀하의 목록에있는 완은

cubes_by_four = [i for i in range(1,11) if (i**3)%4 == 0] 
# [2, 4, 6, 8, 10] 
+0

예 이제 작동합니다. – MuteX

0

정수의 큐브가 4로 나누어 경우, 그보고 꽤 쉽게해야이 다음 수를 요소로이 있어야된다. 따라서

cubes = [i**3 for i in range(2, 11, 2)] 
관련 문제