Python极简代码实现杨辉三角示例代码
杨辉三角,又称贾宪三角形,帕斯卡三角形,是二项式系数在三角形中的一种几何排列。
把每一行看做一个list,写一个generator,不断输出下一行的list
实现下列输出效果:
# [1] # [1, 1] # [1, 2, 1] # [1, 3, 3, 1] # [1, 4, 6, 4, 1] # [1, 5, 10, 10, 5, 1] # [1, 6, 15, 20, 15, 6, 1] # [1, 7, 21, 35, 35, 21, 7, 1] # [1, 8, 28, 56, 70, 56, 28, 8, 1] # [1, 9, 36, 84, 126, 126, 84, 36, 9, 1]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
极简代码实现:
def triangles():
L = [1]
while True:
yield L
L.append(0);
L = [L[i-1] + L[i] for i in range(len(L))]
n = 0
for t in triangles():
print(t)
n = n + 1
if n == 10:
break
注:普通函数和generator生成器的区别:
1、普通函数调用直接返回结果,generator函数的调用,返回一个generator对象;(调用generator时可以先创建一个对象,再用next()方法不断获得下一个返回值,但实际中通常用for循环实现)
2、generator在执行过程中,遇到yield就中断,下次又继续执行
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。
相关文章
Python中if __name__==‘__main__‘用法详情
这篇文章主要介绍了Python中if __name__==‘__main__‘用法详情,文章首先通过我们先定义一个test01.py的文件展开详情,具有一定的参考价值,感兴趣的朋友可以参考一下2022-06-06
详解Python编程中对Monkey Patch猴子补丁开发方式的运用
Monkey Patch猴子补丁方式是指在不修改程序原本代码的前提下,通过添加类或模块等方式在程序运行过程中加入代码,下面就来进一步详解Python编程中对Monkey Patch猴子补丁开发方式的运用2016-05-05
Python常见字符串操作函数小结【split()、join()、strip()】
这篇文章主要介绍了Python常见字符串操作函数,结合实例形式总结分析了split()、join()及strip()的常见使用技巧与注意事项,需要的朋友可以参考下2018-02-02
关于pygame.surface.blit()方法4个参数的使用
这篇文章主要介绍了关于pygame.surface.blit()方法4个参数的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-03-03


最新评论