Python程序:输出杨辉三角的几种办法
生活随笔
收集整理的這篇文章主要介紹了
Python程序:输出杨辉三角的几种办法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、問題描述
- 二、問題分析
- 三、第一種方法
- 1、具體代碼
- 2、運行結果
- 3、程序的改進
- 四、第二種方法
- 1、具體代碼
- 2、運行結果
- 五、總結分析
一、問題描述
給定一個非負整數 n,生成「楊輝三角」的前 n行。
在「楊輝三角」中,每個數是它左上方和右上方的數的和。
二、問題分析
要生成楊輝三角,肯定需要用到雙層for循環,用i表示行數,用j表示列數。用**triangle[i][j]**表示每一個數的具體位置
三、第一種方法
1、具體代碼
def triangle(n):x = [] # 存放最終結果for i in range(n):if i == 0:x.append([1]) # 第一行elif i == 1:x.append([1, 1]) # 第二行# 第三行以后else:y = [] # 存放一行,每次清空for j in range(i + 1):if j == 0 or j == i:y.append(1)else:y.append(x[i - 1][j - 1] + x[i - 1][j])x.append(y)return xn = 6 a = triangle(n) for i in range(len(a)):print(a[i])2、運行結果
3、程序的改進
def triangle(n):x = [] # 存放最終結果for i in range(n):y = [] # 存放一行,每次清空for j in range(i + 1):if j == 0 or j == i:y.append(1)else:y.append(x[i - 1][j - 1] + x[i - 1][j])x.append(y)return x四、第二種方法
1、具體代碼
class Solution:def generate(self, numRows):triangle = [] # 創建列表存放最終結果for i in range(numRows):#row里面存放的是每一行的元素row = [None for _ in range(i + 1)] # 創建空列表row[0], row[-1] = 1, 1for j in range(1, len(row) - 1):row[j] = triangle[i - 1][j] + triangle[i - 1][j - 1]triangle.append(row)return triangleif __name__ == '__main__':a = Solution()s = a.generate(5)print(s)2、運行結果
五、總結分析
用Python輸出楊輝三角,尤其是第二種方法里的創建指定長度的空列表,這種方式值得學習。
總結
以上是生活随笔為你收集整理的Python程序:输出杨辉三角的几种办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 普通话测试软件90分,教你如何普通话考试
- 下一篇: 单位医保报销方法