python打印杨辉三角

打印杨辉三角

采用调用三个函数的方法打印,基本路线是:

	(1)生成杨辉三角数列,使用函数调用的方法生成杨辉三角总的列表
			
	(2)将生成的列表进行字符转换,因为后边需要用join函数,随后生成元素为字符数字的杨辉三角列表
	(3)将字符列表打印,生成杨辉三角。
在没有使用其他特别函数的情况下生成杨辉三角,思路清晰,结构简单,容易实现

代码实现如下:

def get_list(L):
‘’‘给一行生成下一行
[1,1]->[1,2,1]
‘’’
list1=[1]
for i in range(len(L)-1):
list1.append(L[i]+L[i+1]) #根据上一行的列表得到下一行的元素,为相邻两元素之和
list1.append(1)#给最后加1
return list1

def cycle_get_list(n):
‘’’
将生成的下一行列表传给get_list函数
并生成n行总体的列表
‘’’
line=[1]
R=[]#用来保存总体的行列表
for i in range(n):

    R.append(line)#再次循环时line的值来自get_list(line)
    line=get_list(line)#将get_list的返回值重新绑定line
return R

---------------------------------------

def get_yanghui_list(L):
‘’‘将cycle_get_list生成的列表
中的数字转化为字符串
‘’’
str_list=[str(x) for x in L]
str_yanghui_list=’ '.join(str_list)
return str_yanghui_list

def yanghui_str_list(L):
l=[get_yanghui_list(x) for x in L]#将总的列表进行遍历,
#利用get_yanghui_list(x)变为字符串
return l

def print_yanghui(L):
‘’‘打印杨辉三角
‘’’
max_len=len(L[-1])#以最后一个列表元素的长度居中打印
for x in L:
print(x.center(max_len))
#测试语句
n=20
SL=cycle_get_list(n)
lin=yanghui_str_list(SL)
print_yanghui(lin)

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值