# 2023/9/27 GDSC期初大會 --- ## 簡介 >1. 幹部自我介紹 >2. 介紹GDSC >3. 破冰遊戲 >4. 介紹安裝Python, VScode >5. 第一次社課 ### 1.幹部自我介紹 * 社長:廖珈鋒 * 教學組:王博均,陳書凱,蔡誌桓,楊詠旭,陳昱逢,高聖傑,蔡明軒 >是程式大佬,他們會**為各位上課,有問題可以找他們** * 活動組:王御凱,曾子瑜,陳昱逢 >負責**舉辦各項活動,處裡活動相關事宜** * 美宣組:劉邦均,李姵萱 >負責**設計表單,經營社群帳號,側拍活動照片** * 總務&機動組: 1. 總務:楊福麟 >負責**管理各項收支,保管社費** 2. 機動:顧智勛 >負責**處裡其他雜務** ### 2.介紹GDSC #### What is GDSC? --- 我們主要是由兩個東西構成的,**thougths和technology**。由社員提出自己的構思,然後再利用自己擁有的或Google提供的技術 來**產生project**,成為一個專案開發者 ![](https://hackmd.io/_uploads/rytag1Gep.png) 之後一年裡不僅僅會有社課,還會舉辦活動,工作坊抑或是和外社合作之類的活動 ![](https://hackmd.io/_uploads/rJvdWJMe6.png) ![](https://hackmd.io/_uploads/BylKbkMxT.png) --- 之後會分成兩組,程式組和專案組 * 程式組: >每個**禮拜四**上課。一學期8堂,**每學期來4堂**就可以拿到證書。 >課程內容包含Python環境建置,Python語法和觀念,網頁爬蟲,Pygame實作 >適合**剛接觸程式**的同學 ![](https://hackmd.io/_uploads/HJx48kMga.png) * 專案組: >相較程式組來說比較自由一點,每個**禮拜二**上課,一學期6堂,**每學期來3堂**就可以拿到證書 >課程比較自由奔放,鼓勵大家**在生活中尋找問題**,並利用技術解決 >會分成小組,由教學長帶領,合作做出專題 >適合**有一定程式基礎**的同學 #### What can we get? 1. Google的講師資源 >Google會**提供講師資源**,包含了Google的軟體技術或就業歷程等等,也會**贊助我們舉辦各樣活動** ![](https://hackmd.io/_uploads/BysIryGg6.png) 2. 教學組的協助資源 >會在Discord上建立群組,包含了各個幹部,可以**找他們尋求幫助** 上課完也會**有當日的上課筆記,簡報**,所以沒聽清楚的話可以上去看 3. 教學組的教育資源 >教學組除了教Python和帶領專案外,還**可以提供即時的程式疑難雜症解答**,也可以找教學或其他社員**組讀書會**,可以幫忙借鑰匙 4. Google的證書! >**來滿一定數量的社課即可拿到證書**,增添自己的履歷 #### 社費 --- 每學期100元 #### 社服 ![](https://hackmd.io/_uploads/rJIovkGea.png) **有意見的話可以提出**,會視情況做更改 ### 介紹安裝Python, VScode 1. 找到python網站並下載(如果python已經裝好便不用下載) ![](https://hackmd.io/_uploads/H1OkC1Mep.png) * mac:找到終端機輸入:![](https://hackmd.io/_uploads/BJpiTyzgT.png) 2. 運行執行檔並安裝 ![](https://hackmd.io/_uploads/BkwzRyfgT.png) 3. 找到vs code網站下載 ![](https://hackmd.io/_uploads/rJjIAJMxp.png)![](https://hackmd.io/_uploads/rJWDCJzlT.png) * mac:需要解壓縮,將解壓縮的檔案搭到application 4. 安裝vs code延伸模組 * 寫程式用![](https://hackmd.io/_uploads/r13hCJfg6.png) * 筆記用![](https://hackmd.io/_uploads/HJCp01MxT.png) 5. 開啟python檔案 ![](https://hackmd.io/_uploads/rkNlylzgT.png) ![](https://hackmd.io/_uploads/rkmZJgfe6.png) ![](https://hackmd.io/_uploads/rkj-yxMep.png) ![](https://hackmd.io/_uploads/Bkd7yeMlT.png) --- ### 第一次社課 * “print()”: 印出自己想要的文字 要打**逗號**在兩個data中間 一般做完print會換行,如果不要,可以用"end="" ``` print("Hello World!") print("Date: ",end="") print(2023,"/",9,"/",27) ``` ![](https://hackmd.io/_uploads/SJAqzxzxT.png) * 資料類型 1. ![](https://hackmd.io/_uploads/HJn9ZxMx6.png) 在Python中,"''"和""""和""""相同 2. ![](https://hackmd.io/_uploads/HJPCbgfxa.png) 3. "type()"是用來查看變數的資料類型 ``` print(type(1)) print(type("1")) print(([1,"1"])) ``` ![](https://hackmd.io/_uploads/S1OsGefgp.png) **在Python中資料型態可以變動** 用**等號**在變數右邊給數值 ``` a=1 print(type(a)) a="1" print(type(a)) a=[1,"1"] print(type(a)) ``` ![](https://hackmd.io/_uploads/rJEt7lfxT.png) 如果資料型態是字串string(str)但我們要的是整數(int)呢? ``` a=1 b=int(a) print(b,type(b)) b=float(a) print(b,type(b)) b=bool(a) print(b,type(b)) b=str(a) print(b,type(b)) b=complex(a) print(b,type(b)) ``` ![](https://hackmd.io/_uploads/r1vmXsfx6.png) * 運算子 #### 算數運算子 | 運算子符號 | 用途 | 例子 | | ---------- | ---- | ---- | | + | 加法 | x+y | | - | 減法 | x-y | | * | 乘法 | x*y | | / | 除法 | x/y | | % | 取餘數 | x%y | | ** | 指數 | x**y | | // | 整數除法 | x//y | #### 關係運算子 | 運算子符號 | 用途 | 例子 | | ---------- | ---- | ---- | | == | 等於 | x==y | | != | 不等於 | x!=y | | > | 大於 | x>y | | <= | 小於等於 | x<=y | | < | 小於 | x<y | | >= | 大於等於| x>=y | #### 邏輯運算子 | 運算子符號 | 用途 | 例子 | | ---------- | ---- | ---- | | and | 和 | x and y | | or | 或 | x or y| | not | 不是| not x | #### 位元運算子 | 運算子符號 | 用途 | 例子 | | ---------- | ---- | ---- | | & | 位元且 | x&y | | \| | 位元包含或 |x\|y | | ^ | 位元互斥或 | x^y | | ~ | 位元相反 | ~x| | >> | 右移 | x>>1 | | << | 左移 | x<<1 | #### 身分運算子 | 運算子符號 | 用途 | 例子 | | ---------- | ---- | ---- | | is | 相同 | x is y | | is not |不同 | x is not y | #### 成員運算子 | 運算子符號 | 用途 | 例子 | | ---------- | ---- | ---- | | in | 包含 |x in y | | not in | 不包含 | x not in y | #### 指派運算子 | 運算子符號 | 用途 | 例子 | | ---------- | ---- | ---- | | = | 指派 | x=y | | += | 加完再指派| x+=y(x=x+y) | | -= | 減完再指派 | x-=y(x=x-y) | | *= | 乘完再指派 | x*=y(x=x*y) | | /= | 除完再指派 | x/=y(x=x/y) | | %= | 取完餘數再指派 | x%=y(x=x%y) | | **=| 指數算完再指派 | x**=y(x=x**y) | | //= | 整數除完再指派 | x//=y(x=x//y) | | &= | 執行位元且完再指派 | x&=y(x=x&y) | | \|=| 執行位元包含或完再指派 | x\|=y(x=x\|y) | | ^=| 執行位元互斥或完再指派 | x\^=y(x=x^y) | | >>=| 右移完再指派 | x>>=y(x=x>>y) | | <<=| 左移完再指派 | x<<=y(x=x<<y) | 例子:x+=1代表把x+1的值賦予給x,當成x這個變數新的值 --- * 備註的方法(用來描述程式碼在幹嘛) 用# ``` print(a) #print a ``` * +和* 特殊用法 +可以將字串合在一起 ``` a=abc print("a+a=",a+a) ``` ![](https://hackmd.io/_uploads/HkfhnjMgp.png) *可以讓動作重複執行 ``` a=abc n=3 print("a*n=",a*n) ``` ![](https://hackmd.io/_uploads/SkzEaszxa.png) **只有string+string,string+int,list+list,list\*int, tuple+tuple,tuple\*int可以被使用** chr()會把**字母換成ASCII code** ord()會把**ASCII code換成字母** ![](https://hackmd.io/_uploads/HyK7y2fxp.png) * 輸入 用input() 變數=input()(資料型態只會是string) 變數=input(想要的東西) ``` a=input() print("your input: ",a) a=input("input something: " print("your input: ",a ``` ![](https://hackmd.io/_uploads/B1M-g2Gga.png) 若想改變input()的資料型態 用 變數=想要的資料型態(input()) ``` a=input() print(a,type(a)) a=int(a) print(a,type(a)) a=int(input()) print(a,type(a)) ``` ![](https://hackmd.io/_uploads/H1Jg-2Mxa.png) input()會讀取整個句子 若要分開的話用split() 字串名稱.split() 變數=字串名稱.split() ![](https://hackmd.io/_uploads/ry5KzhMeT.png)