Python 2.7 实现打印杨辉三角

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liangxy2014/article/details/79300763

题目:打印出杨辉三角形(要求打印出10行)
这里写图片描述

以下列出的两种解法涉及了python中两种创建二维数组的方法。
创建二维数组的方法,单独附文介绍。
解法一中涉及二维数组的循环遍历。

解法一:

# encoding:utf-8
N = 10
YHTriangle = []

for i in range(N):
    YHTriangle.append([])
    # print YHTriangle
    if i == 0:
        YHTriangle[i].append(1)
    else:
        # 最左元素永远为1
        YHTriangle[i].append(1)
        # 最右元素永远为1
        YHTriangle[i].append(1)
        for j in range(1, i):
            #if j <> 0 and j <> i:
            YHTriangle[i].insert(j, YHTriangle[i-1][j-1] + YHTriangle[i-1][j])

# 循环数组
for i in range(N):
    print YHTriangle[i]

解法二:

n = input('请输入行数:')
lst = [[0] * 10 for i in range(n)]
if n > 0:
    for i in range(n):
        print
        print (n - i) * ' ',
        for j in range(i+1):
            if j == 0:
                lst[i][0] = 1
            elif j == i:
                lst[i][j] = 1
            else:
                lst[i][j] = lst[i-1][j-1] + lst[i-1][j]
            print lst[i][j],

猜你喜欢

转载自blog.csdn.net/liangxy2014/article/details/79300763