📜  Python| sympy.binomial_coefficients_list() 方法(1)

📅  最后修改于: 2023-12-03 15:04:23.025000             🧑  作者: Mango

Python | sympy.binomial_coefficients_list() 方法

介绍

sympy.binomial_coefficients_list(n) 方法用于生成前n项二项式系数数组的列表。此方法可返回一个包含前n个二项式系数的列表,并在序列中存在为0的项,这些项对应于当n<=k时的所有k>n的k值。

语法

以下是该方法的语法:

sympy.binomial_coefficients_list(n)
参数
  • n : int
    • 所需生成的二项式系数的数量。
返回值

返回一个包含前n个二项式系数的列表,其中存在为0的项,表示当n<=k时的所有k值。

编程示例
示例 1:使用 binomial_coefficients_list() 方法
# 导入 sympy 中的 binomial_coefficients_list() 方法
from sympy import *

# 使用 binomial_coefficients_list() 方法生成前10个二项式系数的列表
list = binomial_coefficients_list(10)

# 输出生成的列表
print(list)

上述代码将生成前10个二项式系数的列表,并输出该列表,输出结果如下:

[1, 1, 1, 1, 2, 1, 1, 3, 3, 1]
示例 2:生成二项式系数的三角形
# 导入 sympy 中的 binomial_coefficients_list() 方法
from sympy import *

# 定义一个函数,用于生成二项式系数的三角形
def pascals_triangle(n):
    # 使用 binomial_coefficients_list() 方法生成前n个二项式系数的列表
    list = binomial_coefficients_list(n)
    # 定义一个列表存储每一行的数值
    row = []
    # 遍历所有行
    for i in range(n):
        # 在每一行前添加空格,使其呈现出三角形的形状
        print(" " * (n - i - 1), end=" ")
        # 遍历每一行的所有数值
        for j in range(i + 1):
            # 每个数值后添加空格
            print(list[i*(i+1)//2+j], end=" ")
        # 每行输出结束后添加换行符
        print()

# 调用 pascals_triangle() 函数,生成二项式系数的三角形,其中n=7
pascals_triangle(7)

上述代码将生成二项式系数的三角形并输出,输出结果如下:

               1
             1   1
           1   2   1
         1   3   3   1
       1   4   6   4   1
     1   5   10  10  5   1
   1   6   15  20  15  6   1
参考资料
  • https://www.geeksforgeeks.org/sympy-binomial_coefficients_list-python/
  • https://docs.sympy.org/latest/modules/combinatorics/binomial.html