파이썬에서 파스칼의 삼각형 만들기

Lakshay Kapoor 2023년1월30일
  1. 파이썬에서 파스칼의 삼각형 알고리즘
  2. 파이썬에서 파스칼의 삼각형을 위한 프로그램
  3. Python에서 이항 계수를 사용하여 파스칼의 삼각형 인쇄
  4. 파이썬에서 11의 거듭제곱을 계산하여 파스칼의 삼각형 인쇄
파이썬에서 파스칼의 삼각형 만들기

파스칼의 삼각형은 숫자가 삼각형처럼 보이도록 배열된 일종의 숫자 패턴으로 정의됩니다. 이 수학 개념에서는 인접한 행의 합인 숫자로 구성된 삼각형 배열이 형성됩니다. 또한 외부 모서리는 항상 1입니다.

파이썬에서 파스칼의 삼각형 알고리즘

Python에서 파스칼 삼각형을 형성하기 위해 소프트웨어에 단계가 있습니다.

  • 먼저 사용자로부터 입력된 숫자를 받아 행의 수를 정의합니다.
  • 둘째, 값을 저장하는 데 사용되는 빈 목록이 정의됩니다.
  • 그런 다음 for 루프를 사용하여 0에서 n-1까지 반복하여 초기 목록에 하위 목록을 추가합니다.
  • 그 후, 1이 목록에 추가됩니다.
  • 그런 다음 for 루프를 다시 사용하여 삼각형의 인접한 행 안에 숫자 값을 넣습니다.
  • 마지막으로, 파스칼 삼각형은 주어진 형식에 따라 인쇄됩니다.

파이썬에서 파스칼의 삼각형을 위한 프로그램

input_num = int(input("Enter the number of rows: "))
list = []  # an empty list
for n in range(input_num):
    list.append([])
    list[n].append(1)
    for m in range(1, n):
        list[n].append(list[n - 1][m - 1] + list[n - 1][m])
    if input_num != 0:
        list[n].append(1)
for n in range(input_num):
    print(" " * (input_num - n), end=" ", sep=" ")
    for m in range(0, n + 1):
        print("{0:5}".format(list[n][m]), end=" ", sep=" ")
    print()

출력:

Enter the number: 5
          1 
         1     1 
        1     2     1 
       1     3     3     1 
      1     4     6     4     1 

Python에서 이항 계수를 사용하여 파스칼의 삼각형 인쇄

이 방법에서 삼각형의 모든 선은 1로 구성되며 행의 n번째 숫자는 이항 계수와 같습니다. 아래 예제 프로그램을 보십시오.

num = int(input("Enter the number of rows:"))

for n in range(1, num + 1):
    for m in range(0, num - n + 1):
        print(" ", end="")

    # first element is always 1
    B = 1
    for m in range(1, n + 1):

        # first value in a line is always 1
        print(" ", B, sep="", end="")

        # using Binomial Coefficient
        BC = B * (n - m) // m
    print()

출력:

Enter the number of rows:5
      1
     1 1
    1 1 1
   1 1 1 1
  1 1 1 1 1

이 방법에서 이항 계수에 사용되는 공식은 다음과 같습니다.

BC = B(line(m), n-1) * (line(m) - n + 1) / n

파이썬에서 11의 거듭제곱을 계산하여 파스칼의 삼각형 인쇄

이 방법은 완전히 숫자 11의 거듭제곱 값이 파스칼 삼각형 패턴을 형성하기 때문에 숫자 11의 거듭제곱에 기반합니다.

수학적으로는 다음과 같습니다.

11 * 0 = 1
11 * 1 = 11
11 * 2 = 121
11 * 3 = 1331
11 * 4 = 14641

이제 이 기술을 Python에 적용하려면 아래 코드 블록을 참조하세요.

num = int(input("Enter the number of rows:"))

for n in range(num):
    print(" " * (num - n), end="")

    print(" ".join(map(str, str(11 ** n))))

출력:

Enter the number of rows:5
     1
    1 1
   1 2 1
  1 3 3 1
 1 4 6 4 1
Lakshay Kapoor avatar Lakshay Kapoor avatar

Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.

LinkedIn

관련 문장 - Python Array