---
# System prepended metadata

title: 'W14: 5/16'

---

W14: 5/16
===

### [Python 函數 (Python Functions)](https://www.w3schools.com/python/python_functions.asp)

#### 創建函數

創建函數時，藉由函數前端`def`來定義函數，並於後端附上添加`:`，以編寫內容。
函數名稱後方須附上`()`，若需使用參數，將參數名稱置入`()`裡。
不同的參數由`,`分隔，如：
```
def f(x, y):
 print(Longitude of x: y)
```

---

#### 調用函數

調用函數時，只需另外寫上`f()`。
可在`()`內填入任何參數，不同的參數由`,`分隔。
有兩種方法代入參數：
> 依序填入，如：
  ```
  f("Seoul", 127)
  ```
> 或者指定，如：
  ```
  f(x = "Seoul", y = 127)
  ```

※ 若該函數需用n個參數，就得輸入n個，不多不少。

---

#### 默認參數

參數是可以預設數值的，只要先指定參數即可。如：
  ```
  def f(x = "San Francisco", y = -122):
   print(Longitude of x: y)
  ```
這時若未另外指定參數，就會依預設值代入參數。

---

### 考試

題目：
1. 請定義一個函數myFunction，傳入一個參數n。此函數可以計算出1,2,...,n的總和。函數能傳回後的總和。（必須用for迴圈完成）
2. 請定義一個函數myFunction，傳入一個參數n。此函數可以找出1,2,...,n的之間2的倍數，並列印出到螢幕上。（必須用for迴圈完成）
3. 請在螢幕上印出如下圖案 （必須用for迴圈完成）
   ```
   *
   ***
   *****
   *******
   *********
   ***********
   *************
   ```

[答案](https://colab.research.google.com/drive/1cip6dk6Z9Cx6sKltfy5PYYd7T6cIVgOY)