def yanghui(t):
#打印第一行和第二行
print ([1])
line = [1,1]
print(line)
#打印从第三行开始的其他行
for i in range(2,t):
r = []
#按规律生成该行除两端以外的数字
for i in range(0,len(line)-1):
r.append(line[i]+line[i+1])
#把两端的数字连上
line = [1]+r+[1]
print(line)
#测试,打印杨辉三角形的前6行
yanghui(6)
def count_yanghui():
“”“计算每一行杨辉三角数”""
a=[1]
while True:
yield a
a=[sum(i) for i in zip([0]+a,a+[0])]#杨辉三角算法
def control_circulation(max_num):
“”“由用户决定打印几行杨辉三角”""
n=0
for x in count_yanghui():
print(x)#以列表形式输出每一行杨辉三角数,即print(a)
n+=1
if nint(max_num):
break
if name"main":
n=input(“请输入需要打印的杨辉三角行数:”)
control_circulation(n)