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

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

零下一度
풀어 주다: 2017-07-27 09:26:02
원래의
2330명이 탐색했습니다.

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

[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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿