1. 程式人生 > >Python3經典100例(②)

Python3經典100例(②)

例項6

  • 題目:斐波那契數列;
  • 分析:利用遞迴計算斐波那契數列,輸入斐波那契數列的n位,呼叫遞迴計算出第n位的數列值;
  • 程式碼:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time    : 2018-10-3 21:10
# @Author  : Manu
# @Site    : 
# @File    : fib.py
# @Software: PyCharm

def fib(num):
    if num <= 2:
        result = 1
    else:
        result = fib(num - 1) +
fib(num - 2) return result while True: num = int(input('num = ')) print('斐波那契數列的第 %d 個值是 %d' % (num, fib(num)))
  • 結果:

例項7

  • 題目:將一個列表的資料複製到另一個列表中;
  • 分析:Python複製資料有三種方式:直接賦值、淺拷貝、深拷貝;
  • 程式碼:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time    : 2018-10-4 10:20
# @Author  : Manu
# @Site    : 
# @File    : copy.py
# @Software: PyCharm import copy # 直接賦值,相當於物件引用,即就是另起一個名字 print('assignment:') list1 = [1, 3, 5, 7, 9, 'Manu Ginobili', 20] list2 = list1 print(list2) # 淺拷貝(copy),拷貝父物件,不拷貝子物件 print('copy:') list1 = [1, 3, 5, 7, 9, 'Manu Ginobili', 20] list2 = list1.copy() list1.append(21) print(list1) print(list2)
list2.append(14) print(list1) print(list2) # 深拷貝(deepcopy),完全拷貝父物件及子物件 print('Deepcopy:') list1 = [1, 3, 5, 7, 9, 'Manu Ginobili', 20] list2 = copy.deepcopy(list1) list1.append('Duncan') print(list1) print(list2) list2.append('Paker') print(list1) print(list2)
  • 結果:

例項8

  • 題目:輸出 9*9 乘法口訣表
  • 分析:兩層迴圈,將乘法口訣表以左下三角格式打印出
  • 程式碼:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time    : 2018-10-7 18:38
# @Author  : Manu
# @Site    : 
# @File    : multiple.py
# @Software: PyCharm

for i in range(1, 10):
    for j in range(1, i + 1):
        print('%d * %d = %d\t' %(i, j, i * j), end=' ')
    print()
  • 結果:

例項9

  • 題目:暫停一秒輸出;
  • 分析:呼叫time模組中的sleep()方法即可;
  • 程式碼:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time    : 2018-10-7 18:47
# @Author  : Manu
# @Site    : 
# @File    : wait1s.py
# @Software: PyCharm

import time

spurs = ['Tim Duncan', 'Manu Ginobili', 'Tony Paker']
for spur in spurs:
    print(spur)
    time.sleep(1)
  • 結果(打印出結果時會有明顯的停頓):

例項10

  • 題目:暫停一秒輸出,並格式化當前時間;
  • 分析:使用time模組的strftime()方法實現;
  • 程式碼:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time    : 2018-10-7 18:54
# @Author  : Manu
# @Site    : 
# @File    : wait1s_format.py
# @Software: PyCharm

import time

print('當前時間:')
print(time.strftime("%Y-%m-%d %H:%M:%S %a", time.localtime()))
time.sleep(1)
print('等待一秒後時間:')
print(time.strftime("%Y-%m-%d %H:%M:%S %a", time.localtime()))
  • 結果: