2012-11-23 2 views
0

저는 파이썬을 처음 사용하고 PHP 배경을 사용합니다. 감동했습니다.파이썬에서 간단한 수학적 시퀀스 생성하기

i^2, i^2 + i, i^2 + 2i, ..., n 

i=2 경우 n=30 :이 순서에서 번호 목록을 얻기의 방법이

4, 6, 8, ..., 30

좋아, 이것은 정말 간단한 순서는하지만보다 일반적인 무엇이다 이런 종류의 일을 기능적으로하는 방법?

어쩌면이 기능을 수행하는 좋은 프로그래밍 방식이 있을까요? PHP에서는 일부 변수와 상호 작용이 있지만 파이썬은 좀 더 우아하게 할 수 있다고 생각합니다.

감사합니다.

답변

6

당신은 range으로이 작업을 수행 할 수 있습니다

In [186]: i = 2; n = 30; range(i**2, n+1, i) 
Out[186]: [4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30] 
+0

'range'이 ... 당신이 알고, –

+2

@BlaXpirit을 목록을 반환하지 않습니다. Python3에서는 iterator를 반환합니다. – unutbu

+1

그건 사실이 아닙니다. 하지만 어쨌든, 당신은 파이썬의 오래된 버전을 사용하고 있다고 명시해야합니다. –

0

파이썬은 List Comprehension라는 멋진 기능이 있습니다. 당신이 뭔가를 할하는 데 사용할 수 있습니다 : 그것은 목록을 반환 Python2에서 :

[i*i+2*n for n in range(30) if (i*i+2*n)<=30] 
관련 문제