用 Python 製作帕斯卡三角形
Lakshay Kapoor
2023年1月30日
2021年12月4日
帕斯卡三角形被定義為一種數字模式,其中數字排列成三角形。在這個數學概念中形成了一個三角形陣列,由相鄰行之和的數字組成。此外,外部邊緣始終為 1。
Python 中的帕斯卡三角演算法
要在 Python 中形成帕斯卡三角形,在軟體中是有步驟的。
- 首先,從使用者處獲取輸入數字以定義行數。
- 其次,定義一個空列表,用於儲存值。
- 然後,使用
for
迴圈從0
到n-1
迭代,將子列表附加到初始列表。 - 之後,
1
被附加到列表中。 - 然後,再次使用
for
迴圈將數字的值放入三角形的相鄰行內。 - 最後,根據給定的格式列印帕斯卡三角形。
用 Python 編寫帕斯卡三角形的程式
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
在 Python 中通過計算 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
Author: Lakshay Kapoor
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