---
# System prepended metadata

title: 程式設計(一) 第一週 共筆

---

程式設計(一) 第一週 共筆
===

:::info
[**Hackmd語法參考**](https://hackmd.io/TKNuhom7S62OV6bDyBglXA) <-- 可以點
如果還是不了解，可以打純文字。
:::

#### <確認選課名單 - function>
> 函式(function)，定義後可以以簡單的名稱呼叫執行
**********
如何確認簽到名單?
- 定義(class) 簽到單: -> class
    - 具有名冊資料
    - 定義 簽到(X): (function)
      def sign(X):
        - 找到X所在位置
        find
        - 把名字簽上去
    - 定義 加簽(X): (function)
        - 在名冊最後加上X的學號姓名
    - 定義 退選(X) : (function)
        - 找到X所在位置 pos
        - 把 pos位置資料刪除
:::info
Class 用來定義一堆資料與相關操作
:::


- 定義(def) 確定選課名單: -> function
  def confirmNameList:
    - 產生簽到單Y
      Y = signSheet()
    - (for)對現在上課的每個學生X:
      for X in class :
        - (if)如果自己的學號不在簽到單Y上:
             if not X in Y:
            - 把X的學號姓名加上去
              Y.add(X):
        - X簽名
        Y.sign(X)
    - (for)對簽到單Y上的每一個學生X:
      for X in Y:
        - (if)如果沒簽名
          if not Y.signed(X):
            - 把X由Y移除
              Y.drop(X)
    - 現在對簽到單Y的學生就是確認名單

:::success
把規則說清楚後，只要告訴別人“確定選課名單”，他就會自己來看確定名單的SOP是什麼，再幫你完成它
:::

```
    1. 函數命名很重要，跟功能要有關係
        - 老俞很注重「把一堆程式包成函數」
        ** 不是隨便把一堆程式包起來就可以 ** 
    2. 縮排（點裡面還有小點，請縮排)
```
  - type()
    - 查詢他的類別
       - int 整數
       - float 浮點數
       - complex 複數
       - str 字串 (以''包起來的物件)
  - 內建運算符號
    -  //(整除)
    -  % (取餘數)
  - help()
    - 查詢他的用法 
