###### 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
等號補充:

:::
## 定義域(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. 助教拿 錢(參數) 投入 販賣機(函數) 買到 快樂水(回傳值)

```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: