• 递归
def fact(n):
if n <= 1:
return 1
else:
return n * fact(n - 1)
  • 斐波那契数列: 第0项是0,第1项是1,从第2项开始,每一项都等于前两项之和
def fib(n):
i = 2
arr = [0, 1]
while n > 2:
arr.append(arr[i - 1] + arr[i - 2])
n -= 1
i += 1
return arr //
MemoTable = {} def MemoizedFib(n):
if n <= 2:
return 1 if n in MemoTable:
return MemoTable[n] MemoTable[n] = MemoizedFib(n-1) + MemoizedFib(n-2)
return MemoTable[n]
  • 利用牛顿迭代法求平方根
def sqrt(x):
def average(a, b):
return (a + b) / 2.0 def is_good_enough(guess):
return (abs((guess * guess) - x) < 0.001) def improve(guess):
return average(guess, x / guess) def sqrt_iter(guess):
if is_good_enough(guess):
return guess
else:
return sqrt_iter(improve(guess)) return sqrt_iter(1.0)
  • 求最大公约等数
def gcd(x, y):
result = x
if y != 0:
result = gcd(y, x % y)
return result
  • 汉诺塔
def TowerOfHanoi(n, a, b, tmp):
if n == 1:
b.append(a.pop())
else:
TowerOfHanoi(n-1, a, tmp, b)
b.append(a.pop())
TowerOfHanoi(n-1, tmp, b, a) stack1 = [4,3,2,1]
stack2 = []
stack3 = [] TowerOfHanoi(len(stack1), stack1, stack3, stack2)
  • list map
def map(func, lst):
if lst == []:
return []
else:
return [func(lst[0])] + map(func, lst[1:]) def halveElements(lst):
return map(lambda x: x / 2.0, lst) input = [2, 4, 6, 8, 10]
output = halveElements(input)
  • 求平方和
def summation(low, high, f, next):
s = 0
x = low
while x <= high:
s = s + f(x)
x = next(x)
return s def sumsquares(low, high):
return summation(low, high, lambda x: x**2, lambda x: x+1)

python学习 2数学公式的更多相关文章

  1. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  2. Python学习--01入门

    Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...

  3. Python 学习小结

    python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__mai ...

  4. Python学习路径及练手项目合集

    Python学习路径及练手项目合集 https://zhuanlan.zhihu.com/p/23561159

  5. python学习笔记-python程序运行

    小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ...

  6. Python学习记录day6

    title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...

  7. Python学习记录day5

    title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...

  8. [Python] 学习资料汇总

    Python是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大且完善的通用型语言,已经有十多年的发展历史,成熟且稳定.Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用 ...

  9. Python学习之路【目录】

    本系列博文包含 Python基础.前端开发.Web框架.缓存以及队列等,希望可以给正在学习编程的童鞋提供一点帮助!!! 目录: Python学习[第一篇]python简介 Python学习[第二篇]p ...

随机推荐

  1. C# Byte[] 转String 无损转换

    C# Byte[] 转String 无损转换 转载请注明出处 http://www.cnblogs.com/Huerye/ /// <summary> /// string 转成byte[ ...

  2. .net 面试基础题

    Reference Link:http://www.yjbys.com/bbs/326026.html const关键字用来声明编译时常量,readonly用来声明运行时常量 密封类不能同时为抽象类 ...

  3. 执行mvn 报错 source-1.5 中不支持 diamond运算符

    编译版本出现了问题 <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> < ...

  4. python 多环境安装

    1.pyenv 安装 curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer ...

  5. Python - 类与对象的方法

    类与对象的方法

  6. 修改Firebug字体

    Firebug是一件非常好用的调试工具,然而默认的字体有些单调,设置里又没有更改的选项,那么字体到底能不能更改呢?这个问题困扰了我好久,直到今天我才偶然发现了解决方案. Firebug属于火狐的一个插 ...

  7. 49. 3种方法实现复杂链表的复制[clone of complex linked list]

    [本文链接] http://www.cnblogs.com/hellogiser/p/clone-of-complex-linked-list.html [题目] 有一个复杂链表,其结点除了有一个ne ...

  8. DevExpress 隐藏Ribbon中barbuttonItem的SuperTip(1)

    public frmMain() { InitializeComponent(); ribbonControl1.Manager.HighlightedLinkChanged += Manager_H ...

  9. 第18讲——ActiveX控件

    1,容器应用程序是可以嵌入或链接对象的应用程序.服务器应用程序是创建对象并且当对象被双击时,可以被启动的应用程序. 2,可以安装一个TstCon32来测试ActiveX控件 3,可以用 Invalid ...

  10. display:none与visible:hidden的区别 slideDown与

    display:none与visible:hidden的区别 display:none和visible:hidden都能把网页上某个元素隐藏起来,但两者有区别: display:none ---不为被 ...