python列印楊輝三角的兩種思路

2021-10-25 05:19:09 字數 1119 閱讀 9026

方法一:定義乙個列表,存放第一行初始元素1,接著複製乙個列表,將其轉換為字串,方便將其格式化(也就是加\t製表符),但是這種方法空間開銷比較大。

def

prin

(num)

: mylist =[1

]# 初始為1,預設第一行

for i in

range

(num)

:# 列印num行

listc = mylist.copy(

)for j in

range

(len

(listc)):

temp =

str(listc[j]

) listc[j]

= temp

l ='\t'

.join(listc)

# 對齊

print

(l)0

) mylist =

[mylist[k]

+ mylist[k -1]

for k in

range

(i +2)

]prin(

10)

結果截圖:

方法二:跟方法一差不多,但是不將其copy乙份,在原來的列表上進行操作。

def

prin

(num)

: mylist =[1

]print

('1\t'

) n =

2while n <= num:0)

mylist =

[mylist[i -1]

+ mylist[i]

for i in

range

(len

(mylist))]

for i in mylist:

print

(i, end=

'\t'

)print()

n +=

1prin(

10)

楊輝三角的兩種解法

在學習廖雪峰python教程中,高階特性 生成器 遇到楊輝三角的練習題,比較有意思。記錄下掌握的兩種解法。思路 上一行前後補0,每兩個元素相加得到該行數列。def s l 1 while true yield l l sum i for i in zip 0 l,l 0 n 0 results fo...

Python列印楊輝三角

最近在看廖雪峰的python教程,學到生成器時用生成器輸出楊輝三角 def s l1 l2 m 0while true if m 0 elif m 1 else for k in range len l1 print k if k 0 l1 k l2 k l2 k 1 l2 l1 m m 1 yie...

python 列印楊輝三角

楊輝三角最本質的特徵是,它的兩條斜邊都是由數字1組成的,而其餘的數則是等於它肩上的兩個數之和。def yanghui n result 1 1,1 初始化楊輝三角 line 1,1 楊輝三角的特徵,斜邊都是數字1 for i in range 2,n r for j in range len lin...