急!python 静态变量数列变量修改

问题费波那契数列(意大利语:Successione di Fibonacci),又译费波拿契数、斐波那契数列、斐波那契数列、黄金分割数列。在数学上,费波那契数列是以递归的方法来定义:F0 = 0 (n=0)F1 = 1 (n=1)Fn = F[n-1]+ F[n-2](n=&2)关于Fibonacci的精彩解释,请看下列视频:TED-神奇的斐波那契数列:/movie/2014/2/N/O/M9HKRT25D_M9HNA0UNO.html,这个视频是我看到过的对Fibonacci数列最精彩的讲授,向各位推荐。如果要查看文字解释,请看维基百科词条:斐波那契数列思路说明几乎所有的高级语言都要拿Fibonacci数列为例子,解释递归、循环等概念。这里,我要用Python来演示一下,各种不同的写法,供参考。解决(python)递归——按照定义直接写这种方法不是一个好方法,因为它的开销太大,比如计算fib1(100),就需要耐心等待较长一段时间了。所以,这是一种不实用的方法。但是,因为思路直接简单,列为第一种。def fib1(n):
elif n==1:
return fib1(n-1) + fib1(n-2)递归,进行初始化fib1的慢,就是因为每次都要计算前面已经算过的项目.这里将上述算法进行稍微改进。速度快了很多。memo = {0:0, 1:1}def fib2(n):
if not n in memo:
memo[n] = fib2(n-1)+fib2(n-2)
return memo[n]迭代这也不失为一种简单直接的方法def fib3(n):
a, b = 0, 1
for i in range(n):
a, b = b, a+b
return a直接用数学结论在维基百科的词条 里面,已经列出了不同形式的Fibonacci数列的数学结果,可以直接将这些结果拿过来,通过程序计算,得到斐波那契数。此类程序,本文略。python 在随机数列中找第二大和第二小的数字import random def RandomList(length=10,low=-10,high=10):RandomList=[] for i in range(length):RandomList.append(random.randint(low,high))这是现在已有的.急
如果能用Python现成的函数的话 很简单我给你提示一下 剩下的应该很简单了&&&&import&random&&&&def&RandomList(length=10,low=-10,high=10):...&&&&&RandomList=[]...&&&&&for&i&in&range(length):...&&&&&&&&&&&&&RandomList.append(random.randint(low,high))...&&&&&return&RandomList...&&&&list&=&RandomList&&&&list&function&RandomList&at&0xF7F98&&&&&list&=&RandomList()&&&&list[3,&10,&-7,&-4,&9,&-1,&5,&6,&9,&3]&&&&list=sorted(list)&&&&list[-7,&-4,&-1,&3,&3,&5,&6,&9,&9,&10]&&&&升序排序完成之后 第二小的肯定就是 list[1]而第二大的就是 list[length-2]
为您推荐:
其他类似问题
扫描下载二维码推荐这篇日记的豆列
······> Python兑现:斐波那契数列、交换两个变量的值、从一组数据中找出最大最小值
Python兑现:斐波那契数列、交换两个变量的值、从一组数据中找出最大最小值
tomcruise & &
发布时间: & &
浏览:58 & &
回复:0 & &
悬赏:0.0希赛币
Python实现:斐波那契数列、交换两个变量的值、从一组数据中找出最大最小值  Python实现:斐波那契数列、交换两个变量的值、从一组数据中找出最大最小值
  Fibonacci series, swapping two
variables, finding maximum/minimum among a list of number
  维基百科:费波那西数列(Fibonacci
Sequence),又译费波拿契数、斐波那契数列、费氏数列、黄金分割数列。
  在数学上,费波那西数列是以递归的方法来定义:
  用文字来说,就是费波那西数列由 0 和 1 开始,之后的费波那西系数就由之前的两数相加。首几个费波那西系数是:
  0,&1,&1,&2,&3,&5,&8,&13,&21,&34,&55,&89,&144,&233,&377,&610,
987, , , 10946,
  #!/usr/bin/env python
#-*- coding:utf-8 -*-
费波那西数列由 0 和 1 开始,之后的费波那西系数就由之前的两数相加
@author: 易枭寒
def fib(n):
&&&打印n个Fib序列值&&&
fib_result = []
a, b = 0, 1
if n == 0:
fib_result = [0]
return fib_result
if n == 1:
fib_result = [0, 1]
return fib_result
while a & n:
fib_result.append(a)
a, b = b, a + b
return fib_result
print fib(0)
print fib(1)
print fib(20)
  #!/usr/bin/env python
#-*- coding:utf-8 -*-
费波那西数列由 0 和 1 开始,之后的费波那西系数就由之前的两数相加
@author: 易枭寒
num = int(raw_input(&请输入一个数字:&))
def fib(num):
result = [0, 1]
for i in range(num - 2):
result.append(result[-2] + result[-1])
return result
print fib(num)
代码三:考虑用&__iter__ 实现(TODO)
  --------------------------------------------------
  #!/usr/bin/env python
#-*- coding:utf-8 -*-
Python 实现交换两个变量的值
传统的做法是,定义一个临时变量。但,Python中有更简洁的交换方法,  也即#a, b = b, a
强烈推荐a,b=b,a这种写法!!!
@author: 易枭寒
b = &Python&
print &a is %s, b is %s& %(a, b)
b = temp #a, b = b, a
强烈推荐a,b=b,a这种写法!!!
print &After swapped,a is %s, b is %s& %(a, b)
  -----------------------------
  #!/usr/bin/env python
#-*- coding:utf-8 -*-
Python 从一组数据中找出最大最小值
@author: 易枭寒
#最简单的实现内置函数max()和min(),或者使用list内置函数sort()先排序,再切片操作。#sort()函数为原位(就地)操作,也即修改的是列表本身。
my_list = [4, 6, 3, 2, 1, 8, 9]
my_list.sort()
max_num = max(my_list)
print max_num
min_num = min(my_list)
print min_num
print &The max number is:%d& % my_list[-1]
print &The min number is:%d& % my_list[0]
$>>$ help(list.sort)
Help on method_descriptor:
L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;
cmp(x, y) -& -1, 0, 1
#考虑列表长度。列表元素相等(set()去重复元素)
#扩展:无序列表,先排序,再搜索。自己实现一个排序方法吧(TODO)
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&

我要回帖

更多关于 python 静态变量 的文章

 

随机推荐