python代碼練習(每天一小時)
阿新 • • 發佈:2017-11-28
生成 max lose 生成式 練習 == rom rabl utf-8
1 #-*- coding :utf-8 -*- 2 print("#1.函數") 3 def my_abs(x): 4 if x>=0: 5 return x; 6 else: 7 return -x; 8 print(my_abs(-10)) 9 10 #遞歸函數 11 print("#2.遞歸函數") 12 def fact(n): 13 if n==1: 14 return 1; 15 return n*fact(n-1); 16 17 print(fact(4)) 18 19View Code#3.切片:取元素 20 print("#3.切片") 21 L = list(range(100)) 22 print(L[10:20]); 23 24 #4.叠代:在Python中,叠代是通過for ... in來完成的 25 print("#4.叠代") 26 27 e={‘a‘:1,‘b‘:2,‘c‘:3,‘d‘:4} 28 for key in e: 29 print(key) 30 print(‘------------------‘) 31 for e in ‘abcd‘: 32 print(e) 33 34 #5.列表生成式:列表生成式即List Comprehensions,是Python內置的非常簡單卻強大的可以用來創建list的生成式。35 print("#5.列表生成式") 36 37 L=[] 38 for x in range(2,10): 39 L.append(x*x) 40 print(L) 41 42 #6.生成器 43 print("#6.生成器") 44 L=[x*x for x in range(10)] 45 print(L) 46 print("---斐波拉契數列------") 47 def fb(max): 48 n,a,b=0,0,1 49 while n<max: 50 print(b) 51 a,b=b,a+b 52 n=n+1 53return ‘done‘ 54 print(fb(5)) 55 56 #7.叠代器 57 print("#7.叠代器") 58 from collections import Iterable 59 print(isinstance([], Iterable))
運行效果:
#1.函數 10 #2.遞歸函數 24 #3.切片 [10, 11, 12, 13, 14, 15, 16, 17, 18, 19] #4.叠代 a b c d ------------------ a b c d #5.列表生成式 [4, 9, 16, 25, 36, 49, 64, 81] #6.生成器 [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] ---斐波拉契數列------ 1 1 2 3 5 done #7.叠代器 True
python代碼練習(每天一小時)