|
发表于 2022-11-14 22:14:09
|
显示全部楼层
本帖最后由 jackz007 于 2022-11-14 22:50 编辑
- tringle = []
- for i in range(10):
- tringle.append([])
- for j in range(10):
- tringle[i].append(0)
- for i in range(10):
- tringle[i][0] = 1
- tringle[i][i] = 1
- for i in range(2,10):
- for j in range(1,10):
- tringle[i][j] = tringle[i-1][j-1] + tringle[i-1][j]
- for i in range(10): # 杨辉三角总共需要打印 10 行
- print('\t' * ((10-i) // 2) , end='') # 这一行的意思是根据不同的行号打印对应数量的前导 '\t' 字符,以便打印内容能够形成三角形的形态
- for j in range(i + 1) : # 按行打印元素,例如,第 1 行打印 1 个,第2行打印 2 个,. . . . . .第 10 行打印 10 个
- if i % 2 == 1: # 如果行号是奇数
- print(" ", end='\t') # 打印这些内容(为了行间错开)
- print(tringle[i][j], end='') # 最后打印列表元素
- print() # 打印完一行,输出一个换行符
复制代码
这是我写的
- def yang(n):
- r = [[1 for j in range(i + 1)] for i in range(n)]
- for i in range(2 , n):
- for j in range(1 , i):
- r[i][j] = r[i - 1][j - 1] + r[i - 1][j]
- return r
- n = int(input('输入 n : ') . strip())
- d = yang(n)
- for i in range(n):
- s = ' ' * (n - i - 1) * 2 + '%3d' % d[i][0]
- for j in range(1 , i + 1):
- s += ' %3d' % d[i][j]
- print(s)
复制代码 |
|