>백엔드 개발 >파이썬 튜토리얼 >Python에서 Yang Hui의 삼각형 방법에 대한 소개 예

Python에서 Yang Hui의 삼각형 방법에 대한 소개 예

零下一度
零下一度원래의
2017-07-27 09:26:022336검색

프로그램 출력은 다음 효과를 달성해야 합니다:

[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가 생성기의 출력을 중단하므로 처음으로 출력이 발생합니다. is [1]

2. 아래의 Yield 이후 루프를 계속합니다. 이때 목록 길이는 1입니다. 이를 L의 len(L)에 대입하여 [L[i]+L[i+1]을 얻습니다. i in range(1-1)] 결과는 Null 값이므로 Yield L의 출력은 [1,1]

3입니다. 이때 len(L)의 값은 2이고 대체 결과는 [ 범위(2-1)에 있는 i에 대한 L[i]+L [i+1]은 범위(1)에 있는 i에 대해 [L[i]+L[i+1]]이며, 값 0을 사용할 수 있습니다. 그리고 치환 후에는 [L[0]+L[1]]이고 L[0]과 L[1]의 값은 모두 1이므로(위 결과에서 알 수 있듯이) 출력은 결과는 [1,2,1]

4. 세 번째 기사에 따르면 이때 len(L)의 값은 3이 되는 것을 알 수 있습니다. ] for i in range(2)]. i의 값은 0과 1이다. 루프를 통해 두 개의 값이 출력되는데, 둘 다 3이며 각각 [L[0]+L[1]]로 표시된다. [엘[1]+엘[2]]

위 내용은 Python에서 Yang Hui의 삼각형 방법에 대한 소개 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.