• 递归
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. 关于struts2的过滤器和mybatis的插件的分析

    网上一搜,发现一篇写的非常棒的博文,就直接复制过来了,供以后复习使用. 前辈博文链接:共三篇: http://jimgreat.iteye.com/blog/1616671: http://jimgr ...

  2. [Algorithm] 局部敏感哈希算法(Locality Sensitive Hashing)

    局部敏感哈希(Locality Sensitive Hashing,LSH)算法是我在前一段时间找工作时接触到的一种衡量文本相似度的算法.局部敏感哈希是近似最近邻搜索算法中最流行的一种,它有坚实的理论 ...

  3. Hash算法专题

    1.[HDU 3068]最长回文 题意:求一个字符串(len<=110000)的最长回文串 解题思路:一般解法是manacher,但是这一题用hash也是可以ac的 假设当前判断的是以i为中心偶 ...

  4. Quick Cocos 旋转子弹的实现中我学到的

    self 在lua中相当于java中的this lua中的任何变量在没有赋值前, 都可以看做是nil  lua变量有3种,成员变量: self.变量名 = 局部变量: local 变量名 = 全局变量 ...

  5. 我的页面定制CSS代码(SimpleGamboge皮肤)

    我的页面定制CSS代码,针对博客园SimpleGamboge皮肤. 调整: 1.左上图片更换为自己的头像 2.扩大左侧栏宽度,缩小右侧主栏宽度宽度 3.扩大内容页面的评论区宽度,工具图标靠左 4.去广 ...

  6. C++11中自定义range

    python中的range功能非常好用 for i in range(100): print(i) 现在利用C++11的基于范围的for循环特性实现C++中的range功能 class range { ...

  7. Tomcat 学习心得

    Tomcat Server的结构图 Tomcat服务器的启动是基于一个server.xml文件的,Tomcat启动的时候首先会启动一个Server,Server里面就会启动Service,Servic ...

  8. python之路十九

    1.Django请求生命周期        -> URL对应关系(匹配) -> 视图函数 -> 返回用户字符串        -> URL对应关系(匹配) -> 视图函数 ...

  9. python3 -pip

    https://docs.python.org/3/installing/ ===== pip is the preferred installer program. Starting with Py ...

  10. ./configure,make,make install的作用

    这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤. ./configure是用来检测你的安装平台的目标特征的.比如它会检测你是不是有CC或GCC,并不是需要CC或GCC ...