프로그램 출력은 다음 효과를 달성해야 합니다:
[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 중국어 웹사이트의 기타 관련 기사를 참조하세요!