发表于 2018-8-3 12:21:33

【15】Python100例基础练习(2)

  例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+ 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
  if n==2:
  return
  fibs=
  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="qazwsx"
  
list='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)
  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 整理输出
页: [1]
查看完整版本: 【15】Python100例基础练习(2)