fab函数Python python fact函数

Python编程 从键盘输入n,写一个递归函数计算FIBONACCI数列的第n项n = int(raw_input("数列长度:"))
def fibo(n):
before = 0
after = 1
if n == 0 or n == 1:
return n
if n = 3:
return 1
return fibo(n-1)+fibo(n-2)
print fibo(n)
python做斐波那契数列 。直接创建一个类然后调用下面的def函数即可
#斐波那契数列
'''
第一位是1
第二位是1
第三位是2
公式位F(n)=f(n-1)+f(n-2)
'''
def get_Fibonacci_sequence(n):
'''输入n,遍历到第n位的斐波那契数列'''
a,b=0,1
if n=3:#即等于2 相当于1,2位特殊处理
for i in range(n-1):#操作次数是n-1,去除一次第一位的操作
c=a+b
a,b,=b,c
print(b)#这里选择先改变再输出,可以减少1次的循环
def get_Fibonacci_Num(n):
'''输入n,遍历到第n位的斐波那契数列的第n位数'''
a, b = 0, 1
if n = 3:# 即等于2 相当于1,2位特殊处理
for i in range(n - 1):# 操作次数是n-1,去除一次第一位的操作
c = a + b
a, b, = b, c
# 这里选择先改变再输出,可以减少1次的循环
return b
def get_Fibonacci_Num_recursion(n):
'''输入n,遍历到第n位的斐波那契数列的第n位数,递归实现'''
if n==1 orn==2:#特别注意 , 这里要用逻辑或判断 , 不能直接用或判断,
return 1
else:
return get_Fibonacci_Num_recursion(n-1)+get_Fibonacci_Num_recursion(n-2)
get_Fibonacci_sequence(11)
print(get_Fibonacci_Num(11))
print(get_Fibonacci_Num_recursion(11))
pythonfabric2.0使用方法pythonfabric2.0使用方法如下:
1、连接服务器 , 通过fabric.Connection方法连接服务器 。
2、通过fabric安装软件通过一段代码实现在Ubuntu上批量安装docker,顺序取走列表中的ip 。fabric是一个python(2.7 , 3.4+)的库,用来通过SSH远程执行shell命令,并返回有用的python对象 。fabric的典型使用方式就是,创建一个Python文件,该文件包含一到多个函数,然后使用fab命令调用这些函数 。
python生成器是怎么使用的生成器(generator)概念
生成器不会把结果保存在一个系列中,而是保存生成器的状态,在每次进行迭代时返回一个值,直到遇到StopIteration异常结束 。
生成器语法
生成器表达式: 通列表解析语法,只不过把列表解析的[]换成()
生成器表达式能做的事情列表解析基本都能处理,只不过在需要处理的序列比较大时,列表解析比较费内存 。
Python
1
2
3
4
5
6
7
8
9
10
11
gen = (x**2 for x in range(5))
gen
generator object genexpr at 0x0000000002FB7B40
for g in gen:
...print(g, end='-')
...
0-1-4-9-16-
for x in [0,1,2,3,4,5]:
...print(x, end='-')
...
0-1-2-3-4-5-
生成器函数: 在函数中如果出现了yield关键字,那么该函数就不再是普通函数,而是生成器函数 。
但是生成器函数可以生产一个无线的序列 , 这样列表根本没有办法进行处理 。
yield 的作用就是把一个函数变成一个 generator,带有 yield 的函数不再是一个普通函数,Python 解释器会将其视为一个 generator 。
下面为一个可以无穷生产奇数的生成器函数 。
Python
1
2
3
4
5
6
7
8
9
10
11
def odd():
n=1
while True:
yield n
n+=2
odd_num = odd()
count = 0
for o in odd_num:
if count =5: break
print(o)
count +=1
当然通过手动编写迭代器可以实现类似的效果,只不过生成器更加直观易懂

推荐阅读