日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

杨辉三角python代码 不要括号_关于杨辉三角python代码的问题

發布時間:2023/12/31 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 杨辉三角python代码 不要括号_关于杨辉三角python代码的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

匿名用戶

1級

2017-09-02 回答

楊輝三角,是二項式系數在三角形中的一種幾何排列。

前提:每行端點與結尾的數為1.

每個數等于它上方兩數之和。

每行數字左右對稱,由1開始逐漸變大。

第n行的數字有n項。

第n行數字和為2n-1。

第n行的m個數可表示為 C(n-1,m-1),即為從n-1個不同元素中取m-1個元素的組合數。

第n行的第m個數和第n-m+1個數相等 ,為組合數性質之一。

每個數字等于上一行的左右兩個數字之和。可用此性質寫出整個楊輝三角。即第n+1行的第i個數等于第n行的第i-1個數和第i個數之和,這也是組合數的性質之一。即 C(n+1,i)=C(n,i)+C(n,i-1)。

(a+b)n的展開式中的各項系數依次對應楊輝三角的第(n+1)行中的每一項。

將第2n+1行第1個數,跟第2n+2行第3個數、第2n+3行第5個數……連成一線,這些數的和是第4n+1個斐波那契數;將第2n行第2個數(n>1),跟第2n-1行第4個數、第2n-2行第6個數……這些數之和是第4n-2個斐波那契數。

將各行數字相排列,可得11的n-1(n為行數)次方:1=11^0; 11=11^1; 121=11^2……當n>5時會不符合這一條性質,此時應把第n行的最右面的數字”1”放在個位,然后把左面的一個數字的個位對齊到十位… …,以此類推,把空位用“0”補齊,然后把所有的數加起來,得到的數正好是11的n-1次方。以n=11為例,第十一行的數為:1,10,45,120,210,252,210,120,45,10,1,結果為 25937424601=1110。

完整代碼:

#!/usr/bin/python

#coding=utf-8

# __author__ = 'cy'

#輸出楊輝三角數值表

def triangle(num):

#初始表值為[1]

triangle=[[1]]

#添加i個值([1])至triangle表,eg:[1]*3,triangle=[[1], [1], [1]]

for i in range(2, num+1):

triangle.append([1]*i)

#改變triangle表的值,eg:

#當num=5時,i取5,j取3

#triangle[4][1] = triangle[3][1]+triangle[3][0]

#triangle[4][2] = triangle[3][2]+triangle[3][1]

#triangle[4][3] = triangle[3][3]+triangle[3][2]

#相當于triangle表的第4位的值(這里的值為一個表)的第1,2,3位值等于第3位的值(這里的值也是一個表)的第1,2,3位值和0,1,2的值分別相加(即錯位相加)。

for j in range(1, i-1):

triangle[i-1][j] = triangle[i-2][j]+triangle[i-2][j-1]

return triangle

#格式化輸出(輸出的是一個表)

def printtriangle(triangle, width):

#列寬

column = len(triangle[-1])*width

for sublist in triangle:

result = []

for contents in sublist:

#控制間距

result.append('{0:^{1}}'.format(str(contents), width))

#控制縮進,{0:^{1}}:空格在兩邊補齊空位‘^’居中對齊,‘:’號后面帶填充的字符

print('{0:^{1}}'.format(''.join(result), column))

#啟動函數

if __name__ == '__main__':

#輸入整數

num = int(input('How many rows do you want:'))

#打印信息

print "The triangle rows as follows:"

triangle = triangle(num)

#列寬

width = len(str(triangle[-1][len(triangle[-1])//2]))+3

printtriangle(triangle, width)

總結

以上是生活随笔為你收集整理的杨辉三角python代码 不要括号_关于杨辉三角python代码的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。