###### tags: `程式設計` # 第五週 Python 參考網站 [runoob.com](https://www.runoob.com/python3/python3-tutorial.html) [W3 SCHOOL](https://www.w3schools.com/python/) ## 型態 ◎型態:規範資料用哪一種形式存起來(ex:int,float,str...) ◎互動模式中用type()確認 1. `int` :沒有小數點的整數 ex:1, 2, 3, 50, 999 ... 2. `float` : 浮點數(小數) ex:12.3, 57.488 ... 若int(float()),小數點後面的數會被去掉 3. `string` : 字串 ; 加入 `''` or `""` ,可以將資料變成字串(python只有字串型態,沒有字元型態) ex:"Hello", '123', '78.6' ... 4. `complex` : 複數 ex: 8+17j, 1+2j ... 5. `boolean` : 布林值(只有True&False兩種) 在if和while迴圈中都有條件的判斷,若經判斷為True,才會繼續進行後面程式碼。 6. i += 1 就是 i = i + 1 7. i *= 1 就是 i = i * 1 8. `一個等號(=)` :左邊的變數(指派) = 右邊的值 ex:x=10 沒有10=x ~~(python裡面可以但其他程式不一定行)~~ 所有的程式語言都不行啦 8. `兩個等號(==)` : 邏輯判斷兩邊的值是否相等 10. list 可以裝不同資料型態的值 左到右給list中的物件由0開始編號。 [Python 列表](http://www.runoob.com/python/python-lists.html) - ex : a =[1, 'go', 3+2j, True, []] - []中有[]:二維陣列 10. `...()` : 函數 ex: print(), input() 加()表示呼叫函數 函數間用','做區隔 11. ex : n = '1 2 3' , n.spilt() = ['1','2','3'](字元做切割) n.split( ) 依空格做切割 n.split(,) 依逗號做切割 12. 可迭代(Iterable)的資料型態 ex : list , dictionary , map ,tuple... :::info 等號補充: ![](https://i.imgur.com/nfy0iZm.png) ::: ## 定義域(Scope) : ```python= # i 的定義域只在這個函數中 def isPrime(n): i = 2 while i*i <= n : if n % i == 0: return False i += 1 return True ``` - ==基本上== 傳值呼叫 Call by value - 參考值 reference - 回傳(附加效果:終止函式) return 13. 助教拿 錢(參數) 投入 販賣機(函數) 買到 快樂水(回傳值) ![](https://i.imgur.com/hi45Ah7.png) ```python = def drink (i):#很神奇的是把n丟進來並取名叫i i = i - 2 print(i) print(n)#n卻依然可以使用 n = int(input()) drink(n) ``` 14. 函數和變數的名字盡量有意義,第二個單字開始大寫(駝峰) ex : isPrime(n) 15. for 和 while 的使用時機: for: 知道程式要執行幾次的時候 while: 只知道執行/終止條件,而不知道要做幾次 16. for : (1)可以指定次數 (2)可以指定開始和結束的位置,也可以決定加多少 ex(1) : for i in range(5)代表從0~4做5次 ex(2) : for i in range(7,28,3),執行後 : 7,10,13,.....,25 - 7為起始位置,28為結束位置(28不包含在內),3為間隔 ## 課堂練習的補充 ```python= def printBoard(board) : # 印九宮格 # 每三個換行 for i in range(9) : if i != 0 and i % 3 == 0 : print() # '{:2d}' <--- 這是一個字串 因為他有用 '' 包起來 # format 是一個屬於 str 的函數(方法) # format 的 () 裡面的參數,會對應到 '' 裡面的 {} # {} 裡面則是規定,參數要依照什麼格式印出來 # d 是整數,2 是說讓印出來的數字有 兩個字元的空間 # 詳情請上 google # end = '' 是不換行 print('{:2d}'.format(board[i]), end = '') # 全部印完再加一個換行 print() ``` ## 提問區 :point_down: 我有問題 :smile: :pouting_cat: :bear: :snake: :snail: :hamster: :panda_face: :dancers: