方法一:定义一个列表,存放第一行初始元素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)
mylist.append(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 = 2
while n <= num:
mylist.append(0)
mylist = [mylist[i - 1] + mylist[i] for i in range(len(mylist))]
for i in mylist:
print(i, end='\t')
print()
n += 1
prin(10)