斐波那契数列:

 1 def fn(n):
2 if n==1:
3 return 1
4 elif n==2:
5 return 1
6 else:
7 return fn(n-1)+fn(n-2)
8
9 for i in range(1,10):
10 print(fn(i))

 python实现输出黑白棋盘:

 for i in range(1,11):
for j in range(1,11):
if (i+j)%2==0:
print('■',end='')
else:
print('□', end='')
print('\n')

输出由1,2,3,4 这四个数字组成的每位数都不相同的 所有三位数

 list1 = [1,2,3,4]

 for i in list1:
for k in list1:
for j in list1:
if i != k and k != j and i != j:
print(i*100+k*10+j)

 python 实现冒泡排序

 import random

 def bubbleSort(lis):
length = len(lis)
for i in range(0,length): #下标为0,1,2,3,4,5
for j in range(i+1,length): #下标为1,2,3,4,5,6
if lis[i] > lis[j]:    #相邻的两位数进行比较
lis[j],lis[i] = lis[i],lis[j] #进行数据交换 lis = [random.randint(1,100) for i in range(20)] #随机生成长度为20的 列表
bubbleSort(lis)

 python 实现二分法查找

l = [2,3,5,10,15,16,18,22,26,30,32,35,41,42,43,55,56,66,67,69,72,76,82,83,88]

你观察这个列表,这是不是一个从小到大排序的 有序 列表呀?

如果这样,假如我要找的数比列表中间的数还大,是不是我直接在列表的后半边找就行了?

l = [2,3,5,10,15,16,18,22,26,30,32,35,41,42,43,55,56,66,67,69,72,76,82,83,88]
def find2(l, num, start=0, end=None):
end = end if end else len(l) - 1 #程序执行开始先找列表中间值的下标
mid = (end-start)//2 + start       #计算列表中间值得下标
if start > end:               #如果满足这个条件,则说明查找一遍无法找到匹配的结果
print('找不到')
elif l[mid] > num:             #如果被查找的数没有中间的数字大,则递归调用自身从列表的左边开始比较,注意end的值
find2(l, num, end=mid)    
elif l[mid] < num:             #如果被查找的数比中间的数字大,则递归调用自身从列表的右边开始查找,开始位置是中间值下标+1,末尾下标还是末尾的下标
find2(l, num, start=mid+1, end=end)
else:                     #条件都不符合 则说明已找到 该值得下标  
print('找到啦', mid) find2(l,88) #比如找88的下标

请证明 一个偶数是两个素数的和

def su(n):
for i in range(2,n//2+1):
if n%i == 0:
return False
else:
return True if __name__ == '__main__':
while True:
n =int(input('please input a num'))
if n%2 == 0:
break for i in range(2,n//2+1):
if su(i) and su(n-i):
print(i,'+',n-i,'=',n)

python中一些算法数列的更多相关文章

  1. 【转】你真的理解Python中MRO算法吗?

    你真的理解Python中MRO算法吗? MRO(Method Resolution Order):方法解析顺序. Python语言包含了很多优秀的特性,其中多重继承就是其中之一,但是多重继承会引发很多 ...

  2. 你真的理解Python中MRO算法吗?[转]

    [前言] MRO(Method Resolution Order):方法解析顺序.Python语言包含了很多优秀的特性,其中多重继承就是其中之一,但是多重继承会引发很多问题,比如二义性,Python中 ...

  3. Python中斐波那契数列的四种写法

    在这些时候,我可以附和着笑,项目经理是决不责备的.而且项目经理见了孔乙己,也每每这样问他,引人发笑.孔乙己自己知道不能和他们谈天,便只好向新人说话.有一回对我说道,“你学过数据结构吗?”我略略点一点头 ...

  4. Python 一网打尽<排序算法>之堆排序算法中的树

    本文从树数据结构说到二叉堆数据结构,再使用二叉堆的有序性对无序数列排序. 1. 树 树是最基本的数据结构,可以用树映射现实世界中一对多的群体关系.如公司的组织结构.网页中标签之间的关系.操作系统中文件 ...

  5. 窥探算法之美妙——寻找数组中最小的K个数&python中巧用最大堆

    原文发表在我的博客主页,转载请注明出处 前言 不论是小算法或者大系统,堆一直是某种场景下程序员比较亲睐的数据结构,而在python中,由于数据结构的极其灵活性,list,tuple, dict在很多情 ...

  6. Python中斐波那契数列的赋值逻辑

    斐波那契数列 斐波那契数列又称费氏数列,是数学家Leonardoda Fibonacci发现的.指的是0.1.1.2.3.5.8.13.21.34.······这样的数列.即从0和1开始,第n项等于第 ...

  7. python中的迭代、生成器等等

    本人对编程语言实在是一窍不通啊...今天看了廖雪峰老师的关于迭代,迭代器,生成器,递归等等,word天,这都什么跟什么啊... 1.关于迭代 如果给定一个list或tuple,我们可以通过for循环来 ...

  8. python中的最最最基本语法(1)

    注意:对于我这个以前用c/c++的同学来说,可能一开始学习pyhon时有点不适应的,为什么呢?因为吧,python中,没有这玩意:{},也不用每句话才用分号分开的.python中通过缩进来分块的,一行 ...

  9. python实现排序算法 时间复杂度、稳定性分析 冒泡排序、选择排序、插入排序、希尔排序

    说到排序算法,就不得不提时间复杂度和稳定性! 其实一直对稳定性不是很理解,今天研究python实现排序算法的时候突然有了新的体会,一定要记录下来 稳定性: 稳定性指的是 当排序碰到两个相等数的时候,他 ...

随机推荐

  1. CNN感受野计算

    无痛理解CNN中的感受野receptive field CNN中感受野的计算 从直观上讲,感受野就是视觉感受区域的大小.在卷积神经网络中,感受野的定义是决定某一层输出结果中一个元素所对应的输入层的区域 ...

  2. 什么是DA控制

    液压系统中的DA控制: Automotive Drive control & Anti stall control 自动变速控制 & 防熄火控制 (DA控制) 1:自动(变速)驱动控制 ...

  3. JAVA简单的文件I/O操作实例

    如果只是对文件进行普通的读写,可以不用文件流. 以下是实例: File file = new File("test1.txt"); //向文件写入数据的 PrintWriter p ...

  4. cacti启动有图无数据

    cactiEZ服务器重启后,获取不到图形的解决办法 cd /var/www/html/cli/ php -q rebuild_poller_cache.php -d myisamchk --safe- ...

  5. web界面上的字体兼容方案

    原贴地址:http://www.baidufe.com/item/60cd11d3bfdee5c51369.html 做前端的,对web界面基本都抠的很仔细,尤其精确到1px! 类似边距.宽度.高度等 ...

  6. Hotspot垃圾回收器

    Hotspot垃圾回收器 HotSpot虚拟机提供了多种垃圾收集器,每种收集器都有各自的特点,没有最好的垃圾收集器,只有最适合的垃圾收集器.我们可以根据自己实际的应用需求选择最适合的垃圾收集器.根据新 ...

  7. node.js中模块报错【window is not defined】的解决方法

    (function(window) { /* Keep source code the same */ // })(typeof window == "undefined" ? g ...

  8. 修改Tomcat可支持get传参方式的url长度,get形式

    maxHttpHeaderSize="8192"加在 <Connector port="8081" maxHttpHeaderSize="314 ...

  9. js通过session判断登录与否并确定跳转页面以及回车按钮提交

    本文实例讲述了js判断登录与否并确定跳转页面的方法.分享给大家供大家参考.具体如下: 使用session存储,确定用户是否登录,从而确定页面跳转至哪个页面. 判断本地有无customerID func ...

  10. file_get_content() 超时

    set_time_limit 只能影响php 程序的超时时间. file_get_contents 读取的是URL的超时时间.   因此 set_limit_limit 对file_get_conte ...