python 양휘 삼각 사고방식 실현

956 단어
프로그램 출력에는 다음과 같은 효과가 필요합니다.
[1]
[1,1]
[1,2,1]
[1,3,3,1]
......
방법:교체,생성기

def triangles()

L = [1]

while True:

yiled L

L =[1] + [L[i] + L[I+1] for i in range(len(L)-1)] + [1]

n = 0

for t in triangles():

print(t)

n += 1

if n == 10:

break


논리 구현:
1.yield가 생성기로 출력을 중단했기 때문에 첫 번째 출력은[1]이다
2.while 아래의 yield 이후의 순환을 계속한다. 이때list 길이가 1이고 이를 L의len(L)에 대입하여 [L[i]+L[i+1] for i in range(1-1)]를 빈 값으로 출력하기 때문에 yield L은 [1,1]로 출력한다.
3. 이때len(L)값이 2이고 [L[i]+L[i+1] for i in range(2-1)]는 [L[i]+L[i+1] for i in range(1)]이고 i는 0이고 대입 후에는 [L[0]+L[1]이며 L[0]과 L[1]의 값은 모두 1(위의 결과로 알 수 있음)이므로 출력 결과는 [1,2,1]이다.
4. 제3조에서 알 수 있듯이 이때len(L)값은 3이고 대입해서 [L[i]+L[i+1] for i in range(2)]를 얻어낸다. i값은 0과 1이고 순환을 통해 출력하는 두 개의 값이 있는데 모두 3이다. 각각 [L[0]+L[1], [L[1]+L[2]이다.
이것으로 유추하면 된다

좋은 웹페이지 즐겨찾기