例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:
def Fib(n):
if n==1 or n==2:
return 1
return Fib(n-1)+Fib(n-2)
print(Fib(10))
**方法2:**输出指定个数的斐波那契数列
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:**简单copy
list=['alex','A','B',1,'Name']
list_a=list.copy()
print("copy1 ",list_a)
**方法2:**深copy与浅copy
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不会变动。
例8 输出9*9的乘法口诀表
方法1:
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("")
**方法3:(加法口诀)**
for i in range(1,10): for j in range(1,i+1): k=i+j print("{}+{}={}".format(i,j,k),end=" ") print("")
-----
**例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 整理输出