前言 本文為「成為 Python 數據分析達人的第一堂課 」課程的學習筆記。
條件判斷 使用比較運算子進行條件判斷。
1 2 3 4 5 6 7 8 9 >>> a = 6 >>> a < 3 False >>> a > 3 True >>> a == 6 True >>> a != 6 False
使用邏輯運算子進行條件判斷。
1 2 3 4 >>> (a > 3 ) and (a < 9 )True >>> (a > 12 ) or (a < 15 )True
while 迴圈 使用 while
迴圈。
1 2 3 4 5 6 7 8 9 >>> s = 0 while s <= 5 : print ("*" * s) s += 1 * ** *** **** *****
改進拍拍機器人,讓它持續問候。
1 2 3 4 5 6 7 8 9 10 11 12 message = "" >>> while message != "夠了" : message = input (">> " ) print ("拍拍" ) 拍拍 拍拍 拍拍 拍拍
字串格式化 使用 format()
函數和 {}
占位符進行格式化。
1 2 3 4 5 >>> name = "阿威" place = "新竹" >>> message = "你好, 來自{}的{}!" .format (place, name) print (message) 你好, 來自新竹的阿威!
可以不用擔心資料型態的問題。
1 2 3 >>> m = 270 >>> print ("美金 {} 合新台幣 {} 元" .format (m, m * 30.5 ))美金 270 合新台幣 8235.0 元
定義函數 使用 def
關鍵字定義函數。
1 2 3 4 5 6 7 8 9 10 >>> def square (): return x ** 2 >>> square(3 )9 >>> def say_hi (name, place ): message = "你好,來自{}的{}!" .format (name, place) return message >>> say_hi("阿威" , "新竹" )'你好,來自阿威的新竹!'
串列切割 使用「:
」字元進行串列的切割。
1 2 3 4 5 6 7 8 9 10 11 12 13 >>> l = [3 , 97 , 12 , -5 , -4 ]>>> l[0 ]3 >>> l[1 :3 ][97 , 12 ] >>> l[2 :][12 , -5 , -4 ] >>> l[:4 ][3 , 97 , 12 , -5 ] >>> l[-1 ]-4 >>> l[-2 :][-5 , -4 ]
串列生成 使用 range()
函數建立整數列表。
1 2 3 4 >>> list (range (10 ))[0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] >>> list (range (3 , 15 ))[3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 ]
for 迴圈 使用 for
迴圈。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 >>> l = [1 , 2 , 3 ]>>> for i in l: print (i) 1 2 3 >>> for i in range (4 , 8 ): print (i * 3 ) 12 15 18 21 >>> for i in range (1 , 6 ): print ('*' * i) * ** *** **** *****
尋找元素 判斷關鍵字是否在字串當中。
1 2 3 4 5 6 7 >>> keyword = "悲傷" >>> message = "我今天覺得很悲傷。" >>> keyword in messageTrue >>> message = "我今天覺得很開心。" >>> keyword in messageFalse
判斷關鍵字是否在串列當中。
1 2 3 4 5 >>> L = [2 , 88 , 64 , -66 , -4 ]>>> 29 in LFalse >>> 88 in LTrue
流程控制 使用 if
、elif
以及 else
進行條件判斷。
1 2 3 4 >>> a = 3 if a < 7 : print ("OK" ) OK
改進拍拍機器人,讓它根據使用者的輸入是否包含關鍵字來回應。
1 2 3 4 5 6 7 8 9 10 11 12 13 >>> message = input (">> " ) if ("悲傷" in message): print ("拍拍" ) elif ("開心" in message): print ("不就好棒" ) else : print ("知道了" ) 拍拍 不就好棒 知道了
生成亂數 使用 randint()
函數生成亂數。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 >>> %pylab inline>>> randint(3 , 21 )>>> for i in range (10 ): k = randint(3 , 21 ) print (" " * k + "*" ) * * * * * * * * * *