方法一:定義乙個列表,存放第一行初始元素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...