---
# System prepended metadata

title: Collaborate program
tags: [python, ' collaboration']

---

---
title: Collaborate program
tags: python, collaboration
---
## First Meeting Minutes(2/2, 20:00~22:30)

**Deadline 2/4 Friday**
- 晚餐吃什摩(Dinner Jia Sa)
    - 語言： Python
    - 物件內容
        - 店名
        - 菜色標籤(先存成 list, 之後改成JSON)
            - [JSON using python](https://www.itread01.com/study/python-json.html)
            - [Convert list to JSON in python](https://www.quora.com/How-do-I-convert-a-list-to-JSON-in-Python)
        - （營業時間）
        - （電話）
    - 使用者介面
        - 輸入：
            - 菜色名稱
            - 店家名稱
            - 標籤
        - 輸出：
            - 菜色名稱
            - 店家名稱
    - 菜單名稱: `menu.txt`
    - 菜單資料儲存格式：`json 格式`
    - 統一項目：
        - 變數名稱
        - 函數參數資料型態
    - 標籤們（不用分類以下只是方便統計）
        - 主食：飯('main01') 麵('main02')
        - 風格: 台式('type01') 義式 日式 美式 泰式 韓式 
        - 飲料：
        - 點心：
        - 葷 素
    - 工作分配
        - _Dish(): 劉怡君、錢品竹
        - Pick_Dish(): 陳靖雯、田蕙瑜
        - main function + class(1): 劉又聖


- [x] 1. github 創 share repository
- [ ] 2. 盡量照著gitflow 做事

```
'[ 
 [菜色名稱, 店家名稱, [標籤]],
 [菜色名稱, 店家名稱, [標籤]],
 [菜色名稱, 店家名稱, [標籤]],
]'
```

- main function 流程
```c=
選擇要 加餐廳or挑餐廳
if(加餐廳)    
    進入 Add_Dish()
else if(挑餐廳)    
{
    進入 Pick_Dish()
    輸出篩選結果
}
```
- Add

- Pick

建議:
1. 統一縮排(一般習慣上是4個空白)
```vim
# ~/.vimrc
set expandtab
set tabstop=4
set shiftwidth=4
```
2. list 在 python 中為一內建函式(參考python筆記，List介紹之Common Error)
3. 執行程式部分
```python=
# 通常執行main function的部分會這樣寫
def main():
    pass

if __name__ == '__main__':
    main()

# __name__ 可以判斷該py檔是否為主要程式執行的檔案

# 簡單實驗
# a.py
import b
print('a.py name is', __name__)

# b.py
print('b.py name is', __name__)

# 執行程式
$ python a.py

Output:
a.py name is __main__
b.py name is b
```
4. isFun、hasFun 這類的函式，一般是回傳Boolean，算是潛規則，由名字暗示回傳值為何
    - 所以這些函式裡面通常都不應該有print之類的輸出，除非用來Debug，但最後也都應該拿掉

---
新增Modify、Delete
討論變數、函式、類別、檔案名稱格式
討論標籤儲存方式

變數: a_variable
全域變數: GLOBALVAR
函式: Fun_Name, Add_Dish, Pick_Dish
類別: Class, setDishName(Member function)
檔案名稱: afilename.txt

delete_Dish:怡君、又聖、蕙瑜
modify_Dish:money、Joyce

**Deadline: 2/14 Fri** 
---


```python=

>>> 菜色名稱
>>> 店名
print: 1 -> Rice, 2 -> Noodle, ..
>>> 1 4 9



{ '1' : 'Rice', '2' : 'Noodle', ...}


# Add
D_name = input(...)
R_name = input(...)
tags   = input(...)


aList = [ID, D_name, R_name, tags]
Rice = Dish(*aList)#展開參數


Rice = Dish(ID, D_name, R_name, tags)
Noodle = Dish(ID, D_name, R_name, tags)

rice_attrs = Dish.getAllAttrs()   # [菜色名稱, 店家名稱, [標籤]]
noodle_attrs = Dish.getAllAttrs() # [菜色名稱, 店家名稱, [標籤]]     



json.dump([rice_attrs, noodle_attrs], file)

menu_s = json.load(file)

menu = []
for dish in menu_s:
    menu.append(Dish(*dish))


# Pick
search_tag = input()

def fun(search_tag):
    dish.hasTag()
    result.append(...)

result do Output
```


---
## 2/15 21. Meeting 


Agenda
- [ ]Dinner_Jia_Sa 進度


### 開學待討論
- [x]Git 教學計畫 ==2/25討論==
- [x]噴水池音樂專題(ask QC)
- [ ]真的要辦營隊ㄇ(否決！！)
- [ ]完整16週計畫       // [前計畫](https://hackmd.io/NJLXL2LpT46XTbeh-IbNSA)
- [x]網路組進度
    - 分工要確實啊(failed)
- [x]平常例會時間
- [x]新聞翻譯催繳定期限(3/1 23.59前上傳)
- [ ]重新訂定一下規則
    - 例會需請假者，需在例會三天前請假，未請假未到者，罰錢
        - 初犯: 10元
        - 累犯: 10 * 累犯次數
        - EX: 星期日開會，最晚要在星期四23:59前請假完畢
    - 例會遲到，罰選修分數(待討論，問老師) 
        - 初犯：
        - 累犯：
        - 備案: 累點扣錢制，每遲到五分鐘累積乙點，集滿三點罰十元
            - 對錶，以錢品竹的時間為主 :+1:
    - 新聞翻譯定期限 -> 下次例會前(大概一個禮拜)？？ 
    - 臨時請假
        - 視情況而定，需明確指出理由，由幹部討論
- [x]討論是否隔周開會(靖雯開表單)
- [x]討論下次開會時間（4ef）


---

```python=
>>> python main.py
1~5: 新增、選擇、修改、刪除、列出所有菜色

1. 新增(Add_Dish)
Input: 菜名，餐廳，菜色標籤
Output: 成功新增
Example:
Input: 
Steak, Joy kitchen, main04
Steamed dumpling, Joy kitchen, main03

2. 選擇(Pick_Dish)
Example:
Input: main03, main04
Output: 
return 
[ 
Steak, Joy kitchen, main04
Steamed dumpling, Joy kitchen, main03
]

3. 修改(Modify_Dish)
Example:
Input: 
1 or 2: 選擇列出方式
輸入Index: 選擇要修改的項目
輸入要改的欄位：(1-Dish, 2-Restaurant, 3-tags)
輸入新的資料：新的輸入會完全覆蓋舊資料
Output:成功修改！

4. 刪除(Delete_Dish)
Example:
Input:
1 or 2: 選擇列出方式
輸入Index: 選擇要刪除的項目
Output:
成功刪除

5. 列出(Show_Menu)
Output: 所有菜色
```

**Deadline 2/19 Wed 21.**
我就懶ლ(◉◞౪◟◉ )ლ: everyday 攏 OK
劉怡君:同上

靖雯：1

田: 1、2、==3==、6


