## 01 與Python的邂逅 ###### - Python 小社課 - ###### **Gino** --- #### 認識Python ![](https://i.imgur.com/x2kELyn.png) ---- ![](https://i.imgur.com/00Q11Wm.png) **\\Python他發明的/** ---- ### 語言特性 ---- **\\code簡潔&人性化/** ```cpp= /* 長得很醜的C++ */ #include <iostream> using namespace std; int main() { cout << "Hello\n"; return 0; } ``` ```python= # 簡簡單單的Python print("Hello") ``` ---- ### **物件導向語言!** ---- 蛤...什麼是物件導向...? 沒關係之後小社課會教OwO 一定要來歐>u< ---- 但是... **/直譯式語言\\ - 讓Python速度慢** ![](https://i.imgur.com/6bx1nAp.png) ---- **/動態型別語言\\ - 讓Python速度慢** ---- 儘管速度這麼慢... **\\還是很受歡迎/**! --- ### **常用編輯器** 我也好想寫Python ><,但應該用什麼寫呢? ---- 記事本寫code + 打指令執行Python ![](https://i.imgur.com/AcmpvY3.png) ---- ~~記事本寫code + 打指令執行Python~~ 毒瘤 ---- #### **離線編輯器** ---- Python官方ㄉ ![](https://i.imgur.com/KSUlq3H.png) ---- Sublime Text ![](https://i.imgur.com/J7mEUbv.png) ---- 專業一點的 - **整合開發環境** Jetbrain的PyCharm ![](https://i.imgur.com/fVALIW5.png) ---- 注意! 使用這些編輯器前 請先到官網裝Python包來用 https://www.python.org/downloads/ ---- #### 線上編輯器 ---- 講師個人最喜歡也唯一推薦 - ---- **Repl .it** ![](https://i.imgur.com/MV6b2pQ.png) ---- Google打python online ![](https://i.imgur.com/FIPvpiy.png) ---- 註冊一隻帳號 就可以把寫過的檔案存在網站裡 ---- 耶伊可以開始寫code了>< --- ## **Hello, world!** #### **- 基本輸入、輸出-** ---- Python輸出訊息到螢幕 ```python= print("Hello, world!") print("Welcome to CRC!") ``` ---- ![](https://i.imgur.com/qwJTdxW.png) ---- 讓使用者輸入一行文字 ```python input() ``` ---- ```python= print(input()) ``` 把輸入進來的文字原封不動輸出 --- ## **變數** #### **- 儲存資料的空間 -** ---- 有一個變數x,把它"**設為**"12345 ```python x = 12345 ``` ---- 印出變數x ```python= print(x) ``` --- ## **常見變數資料型態** ---- 整數、浮點數 int, float ```python= my_int = 123456 my_float = 11.321 ``` 順帶一提 Python的整數無上限(不像C++) Python的浮點數誤差有點嚴重 ---- 字串 str ```python= my_str = "CRC is the best!" my_str2= 'CRC is the best!' ``` ---- 布林值 bool ```python= my_bool = True my_bool = False ``` ---- ## **變數當然可以輸入!** ---- 回憶一下 ![](https://i.imgur.com/pOAGoYv.png) ---- 問:變數x是什麼型態? ```python= x = input() ``` ---- 那...想輸入數字怎麼辦? ---- ```python= # x是浮點數 x = input() x = int(x) # y是浮點數 y = input() y = float(y) ``` ---- 簡化 ```python= # x是整數 x = int(input()) # y是浮點數 y = float(input()) ``` --- ## **變數的運算** ---- ### **數字** ---- #### 整數 ```python= a = 5 b = 3 print(a + b) # 8 print(a - b) # 2 print(a * b) # 15 print(a / b) # 1.6666666666666667 print(a // b) # 1 (因為 5/3 的整數部分是1) print(a % b) # 2 print(a ** b) # 125 ``` 優先順序: 1. **次方** 2. **取餘數**、**除->取整數部分**、**乘除** 3. **加減** ---- 算式太長可以加括號 `((5 + 1) * (2 ** 5 - 4) + 3) % 6` ---- #### 浮點數 其實跟整數一樣 但是Python小數誤差很嚴重 ```python= a = 5.1 b = 1.6 print(a + b) # 6.699... print(a - b) # 3.499... print(a * b) # 8.16 print(a / b) # 3.187499... print(a // b) # 3.0 print(a % b) # 0.299... print(a ** b) # 13.555... ``` ---- #### 字串 字串加法 = 接龍 ```python= s = "ABC" t = "DEF" print(s + t) # "ABCDEF" print(s * 3) # "ABCABCABC" ``` ---- #### 布林值 ```python= T = True F = False print(T and F) # False print(T or F) # True print(not T) # False print((not T) or (T and F)) # False ``` 跟中文語法的邏輯一樣 - and(且): 兩個都要成立 -> True - or (或): 一個成立就可以了 -> True - not(不): 對,就是"不" ---- 比較兩筆資料、變數的關係 ```python= one = 1 two = 2 print(one > two) # False print(one >= two) # False print(one == two) # False print(one <= two) # True print(one < two) # True print(one != two) # True ``` 字串的比較適用**字典序** 布林值則是 **True > False** --- ## **複習!** ---- - Python介紹 - 常用編輯器 - 輸入輸出(print, input) - 變數 - 變數資料型態 - 變數的運算&比較運算 --- ## **練習!** ---- CRCOJ - 0018北極熊大遷徙(★★★) - 0002不要學我說話(★★★) - 0003一元一次方程式(★★★★) - 0023好氣喔!店員是破腦(★★★★★)
{"metaMigratedAt":"2023-06-15T13:07:28.044Z","metaMigratedFrom":"YAML","title":"01 與Python的邂逅","breaks":true,"slideOptions":"{\"transition\":\"fade\",\"spotlight\":{\"enabled\":false}}","contributors":"[{\"id\":\"ac1507e0-f05c-4708-bdd2-c56d13fb0dbb\",\"add\":4286,\"del\":563}]"}
    280 views