例6
題目:斐波那契數列
斐波那契數列指的是這樣一個數列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368........
天然中的斐波那契數列
這個數列從第3項開始,每一項都等於前兩項之和。
程序分析:
在數學上,費波那契數列是以遞歸的方法來定義:
F0 = 0 (n=0)
F1 = 1 (n=1)
Fn = F[n-1]+ Fn-2
方法1:html
def Fib(n): if n==1 or n==2: return 1 return Fib(n-1)+Fib(n-2) print(Fib(10))
方法2:輸出指定個數的斐波那契數列python
def Fib(n): if n==1: return [1] if n==2: return [1,1] fibs=[1,1] for i in range(2,n): fibs.append(fibs[-1]+fibs[-2]) return fibs #打印前十個斐波那契數列 print(Fib(10))
例7
將一個列表的數據複製到另外一個列表中。
程序分析:使用列表
方法1:簡單copyapp
list=['alex','A','B',1,'Name'] list_a=list.copy() print("copy1 ",list_a)
方法2:深copy與淺copyide
import copy #模塊 list = ['alex', 'A', ["QAZWSX", 11, 22, 33], 'B', 1, 'Name'] list_deep=copy.deepcopy(list) list_copy=copy.copy(list) list[2][0]="qazwsx" list[1]='100' print(list) print("list_deep>>>",list_deep) #深copy print("list_copy>>>",list_copy) #淺copy
注:
深copy與淺copy
共同點:不會由於列表的父層變更而變更
不一樣點:子列表修改時,淺copy會跟隨變更而變更,而深copy不會變更。.net
例8
輸出9*9的乘法口訣表code
方法1:orm
for i in range(1,10): for j in range(1,i+1): print("%d*%d=%d" % (i, j, i*j)) ```** **方法2:**
for i in range(1,10):
for j in range(1,i+1):
k=ij
print("{}{}={}".format(i,j,k),end=" ") #end後面引號內留空,輸出的結果不美觀。
print("")htm
**方法3:(加法口訣)**
for i in range(1,10):
for j in range(1,i+1):
k=i+j
print("{}+{}={}".format(i,j,k),end=" ")
print("")blog
----- **例9** 暫停兩秒輸出: 程序分析:利用time模塊 **方法1:**
import time
my={1:'a',2:'b',3:'c',4:'e'}
for key,value in dict.items(my):
print(key,value)
time.sleep(2)遞歸
**方法2:**
l=['a','b','c','d','e']
for i in range(len(l)):
print(l[i])
time.sleep(2)
**Time模塊 返回當前時間的時間戳(1970紀元後通過的浮點秒數)。 ** ----- **例10** 暫停1s輸出,並格式化當前時間。 方法:
import time
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
#暫停一秒
time.sleep(1)
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
Time模塊講解請看http://blog.csdn.net/SeeTheWorld518/article/details/48314501 python例子-關於時間time模塊 [](https://www.cnblogs.com/xccnblogs/p/4888198.html) 參考:http://www.runoob.com/python3/python3-tutorial.html 整理輸出