python_杨辉三角

# 杨辉三角

# 思路:

# 利用python 两个列表,triangle[]存放整个三角所有数据,row[]存放每一行的数据;

# 每一行开头和结尾都是1,中间的数据则是上一行相对应的两个数据之和;

triangle=[]

m = 10

for i in range(m): # i代表每第i行

    row = [1]      # 表示每一行第一个数据是1

    if i == 0:    # 只有第一行的时候执行一次

        triangle.append(row)

        continue

    for j in range(i-1): # j代表第i行的第j个数据

        row.append(triangle[i-1][j] + triangle[i-1][j+1]) # 中间的数据则是上一行相对应的两个数据之和

    row.append(1)

    triangle.append(row)# 把第i行数据添加到triangle=[]

print(triangle)


# 杨辉三角

# 思路:

# 利用python 两个列表,pre=[]作为中间变量,row[]存放每一行的数据,并打印;

# 每一行开头和结尾都是1,中间的数据则是上一行相对应的两个数据之和;

pre=[]

m = 10

for i in range(m): # i代表每第i行

    row = [1]      # 表示每一行第一个数据是1

    if i == 0:

        pre = row

        print(row)

        continue

    for j in range(i-1):# j代表第i行的第j个数据

        row.append(pre[j] + pre[j+1]) # 中间的数据则是上一行相对应的两个数据之和

    row.append(1)

    pre = row

    print(row)


# 求取杨辉三角某一行某个数:

m = 9

k = 5

n = m-1

r = k-1

d = n-r

result = []

factor = 1

for i in range(1, n+1):

    factor *= i

    if i == r:

        result.append(factor)

    if i == d:

        result.append(factor)

    if i == n:

        result.append(factor)

#print(result)

print(result[2]//(result[0]*result[1]))

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。