带有缓存的迭代器

# 帕斯卡三角形

mCache = {}

def pascalWithDict(n,k):

if n==k or k==0 or n==1:

return 1

if k==1:

return n

if mCache.has_key((n,k)):

return mCache[(n,k)]

else:

mCache[n,k] = pascalWithDict(n-1,k-1)+pascalWithDict(n-1,k)

return mCache[n,k]

## 获得每行pascal列表

def generatePascal(depth):

lines = []

for row in range(depth):

line = []

for col in range(row+1):

line.append(pascal(row, col))

lines.append(line)

return lines

if __name__ == "__main__":

high = int(raw_input("pls enter the height of pascal:"))

lines = generatePascal(high)

for i in range(high):

print lines[i]

结果如下:

pls enter the height of pascal:6

[1]

[1, 1]

[1, 2, 1]

[1, 3, 3, 1]

[1, 4, 6, 4, 1]

[1, 5, 10, 10, 5, 1]

使用装饰器的迭代器

from functools import wraps

def memo(func):

cache={}

@wraps(func)

def wrap(*args):

if args not in cache:

cache[args]=func(*args)

return cache[args]

return wrap

@memo

def pascal(n,k):

if n==k or k==0 or n==1:

return 1

if k==1:

return n

return pascal(n-1,k-1)+pascal(n-1,k)

跳舞的数字[Just for fun]

if __name__ == "__main__":

#depth = int(raw_input("pls enter the depth of pascal:"))

for depth in range(100):

lines = generatePascal(depth)

for i in range(depth):

print lines[i]

帕斯卡三角形html,Python实现的帕斯卡三角形相关推荐

  1. python编写函数判断三角形_使用Python三角函数公式计算三角形的夹角案例

    题目内容: 对于三角形,三边长分别为a, b, c,给定a和b之间的夹角C,则有:.编写程序,使得输入三角形的边a, b, c,可求得夹角C(角度值). 输入格式: 三条边a.b.c的长度值,每个值占 ...

  2. python编程怎么画三角形的外接圆_python画出三角形外接圆和内切圆的方法

    摘要:这篇Python开发技术栏目下的"python画出三角形外接圆和内切圆的方法",介绍的技术点是"Python._和__.三角形.三角",希望对大家开发技术 ...

  3. Python实现“已知三角形两个直角边,求斜边”

    用Python实现"已知三角形两个直角边,求斜边" 要求:用户输入两个直角边(数值为浮点类型),若非浮点类型,则提示用户,继续输入. 思路:伪代码描述下步骤 1.-input a ...

  4. php如何计算三角函数,使用Python三角函数公式计算三角形的夹角代码示例

    使用Python三角函数公式计算三角形的夹角代码示例 本篇文章小编给大家分享一下使用Python三角函数公式计算三角形的夹角代码示例,对大家的学习有一定的帮助,小编觉得挺不错的,现在分享给大家供大家参 ...

  5. python已知两条直角边求斜边,Python实现“已知三角形两个直角边,求斜边”

    用Python实现"已知三角形两个直角边,求斜边" 要求:用户输入两个直角边(数值为浮点类型),若非浮点类型,则提示用户,继续输入. 思路:伪代码描述下步骤 1.-input a ...

  6. python循环语句打印三角形_python循环输出三角形图案的例子

    python循环输出三角形图案的例子 我就废话不多说了,直接上代码吧! #Copyright (c)2017, 东北大学软件学院学生 # All rightsreserved #文件名称:a.py # ...

  7. 教你如何用python制作三角形模拟器 python项目小发明 【安安教具】-【数学】-【三角形】模拟器

    三角形的三个点互相连接组成了一个平面图形,我们如何用python制作一个可以展示各种三角形的软件呢? 我们先看看效果: 这个东西要如何使用呢?我们看一下视频: 三角形模拟器 可以看到,控制三角形的三个 ...

  8. python利用海伦公式求三角形的面积

    前言 从小学我们都知道,三角形的面积是底乘以高除以2.那么已知任意一个三角形的三条边,如何能够求出三角形的面积呢?这里我们用到了海伦公式. 海伦公式又译作希伦公式.海龙公式.希罗公式等,它是利用三角形 ...

  9. C++/python描述 898. 数字三角形 (四种实现方法)

    C++/python描述 898. 数字三角形 (四种实现方法)   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写 ...

最新文章

  1. linux printk 时间戳,linux – kern.log中“00:00:00”时间戳的含义是什么?
  2. r语言中mpg数据_R语言数据筛选整理包dplyr
  3. Coursera公开课笔记: 斯坦福大学机器学习第四课“多变量线性回归(Linear Regression with Multiple Variables)”
  4. AI学习与进阶实践-基于行业价值的AI学习与进阶路径
  5. Sketch小技巧—画出各种星型和多边形的简单方法
  6. 如何分辨PoE工业交换机是否标准供电
  7. 编译OSG的FreeType插件时注意的问题
  8. erp系统源码php_最新仿金蝶 PHP电商ERP进销存系统软件 带扫描功能
  9. python中关于sklearn 0.18的错误—— cannot import name comb
  10. 页面性能优化的利器 — Timeline
  11. 如何使用Movavi Video Editor Plus在Mac上制作旁白配音视频
  12. linux安装gcc命令6,linux安装gcc命令
  13. JCreator中怎样带参数运行程序,如何添加JDBC驱动程序
  14. jade的基本使用方法
  15. 程序员如何一键批量下载Iconfont图标
  16. Android TextView 字体 加粗以及判断是否加粗
  17. 版权领域的发展趋势对版权保护有哪些重要意义?
  18. F. 1.小W 的质数(prime)[欧拉筛再理解]
  19. java tan_Java Math tan()用法及代码示例
  20. 《触摸屏游戏设计》——4.1节 起名字

热门文章

  1. 发力企业云,用友是要掉队,还是进击?
  2. 社交电商助推3000万微商大军,全民皆微商的时代即将来临?
  3. svn如何隐藏代码路径_程序员课堂—如何通过改善代码风格来消灭隐藏bug
  4. android log耗性能吗,一个高性能的Android日志库
  5. Hadoop环境搭建教学(一)运行环境,集群规划介绍;
  6. 攻防世界-Reverse-666(图解详细)
  7. 攻防世界-REverse-tt3441810(超简单秒懂)
  8. com组件的ref有时需要有时不需要?_Vue3组件通信总结
  9. 零基础学Python:使用type、metaclass动态创建方法和属性的详细用法
  10. Python中按值来获取指定键的两种方法