python学习 2数学公式
- 递归
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数学公式的更多相关文章
- Python学习--04条件控制与循环结构
Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...
- Python学习--01入门
Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...
- Python 学习小结
python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__mai ...
- Python学习路径及练手项目合集
Python学习路径及练手项目合集 https://zhuanlan.zhihu.com/p/23561159
- python学习笔记-python程序运行
小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ...
- Python学习记录day6
title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...
- Python学习记录day5
title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...
- [Python] 学习资料汇总
Python是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大且完善的通用型语言,已经有十多年的发展历史,成熟且稳定.Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用 ...
- Python学习之路【目录】
本系列博文包含 Python基础.前端开发.Web框架.缓存以及队列等,希望可以给正在学习编程的童鞋提供一点帮助!!! 目录: Python学习[第一篇]python简介 Python学习[第二篇]p ...
随机推荐
- phpcms 添加memcache支持
1,修改caches/configs/cache.php <?php return array ( 'file1' => array ( 'type' => 'file', 'deb ...
- JAVA将数字字符串强制转换成整型变量----求参数之和实验代码(附流程图)
一.设计思想 先将参数个数输出,并利用循环结果将参数逐个输出,再将字符串强制转化成整型,利用循环结构相加求和 二.程序流程图 三.源程序代码 package demo; public class Co ...
- Android:TextView文字跑马灯的效果实现
解决TextView文字显示不全的问题. 简单设置跑马灯的效果: <TextView android:id="@+id/textView" android:layout_wi ...
- [Hadoop] Hadoop学习历程 [持续更新中…]
1. Hadoop FS Shell Hadoop之所以可以实现分布式计算,主要的原因之一是因为其背后的分布式文件系统(HDFS).所以,对于Hadoop的文件操作需要有一套全新的shell指令来完成 ...
- mysql 语法
-create database database_name; show databases;show tables; | -creat ...
- jQuery stop()用法
jQuery stop()的用法: stop(true)等价于stop(true,false): 停止被选元素的所有加入队列的动画. stop(true,true):停止被选元素的所有加入队列的动画, ...
- 天河微信小程序入门:阿里云tomcat免费配置https
天河君在第一时间通过了微信小程序验证,开启了我的微信小程序之旅.因为天河君之前是一名后端狗,对前端不是很了解,所以几乎可以认为是从零开始学做微信小程序.也希望有志在微信小程序方向做点事情的朋友能够和我 ...
- Memcache的增删改查
Memcache是把数据存放到内存的一种缓存技术,为了提高访问的速度,memcache存储的数据一般是频繁.不太重要的数据,php使用memcache,需要两步: (1).php_memcache.d ...
- MySQL 排名统计
select actor_id,@curr_cnt:=cnt as cnt , ,@rank) as rank, @prev_cnt:=@curr_cnt as dummy from( select ...
- sql查询删除重复数据
数据库UserInfo 删除重复数据 即删除重复的用户名手机号 同一个用户名手机号只保留一个用户 01.根据多个字段查询重复数据 with data1 as( select MobilePhone,N ...