補充:基礎Python === 如果你已經至少會陣列、迴圈,再來看這篇會比較好。 這邊假設讀者都看過之前的c++教材,或已經有相關知識了。 python的輸入: ```python= a=input()#跟getline很像 ``` 你輸入的資料其實是存在input裡面,所以要```a=input()```把值提出來。 這邊要注意python的變數是不用預設型態的,但是input()的型態是字串,無論你輸入1、5.5、aaaa都是字串型態。 但是python要轉變數型態也非常容易,只要記幾個常用的就好。 ```python= int(a)#轉整數 float(a)#轉浮點數 str(a)#轉字串 list(a)#轉陣列,字串的話就是每個字一格 ``` 輸出用`print()`,python已經幫你準備好換行了,所以其實是輸出你要輸出的東西加上`\n` 如果你輸入也想像c++的cin一樣讀到空白前就結束,那用法如下: ```python= x,y=input().split() ``` 輸入4 3的話,x="4" y="3" split()的意思是的意思是以括號內的東西做切割,預設是空白。 五則運算: python的五則運算與c\++相似,但是除法會保留小數。像是5/2就是2.5。 如果要無條件捨去,使用//,5//2=2。 c++的//是註解,而python的註解是#。 邏輯運算子 跟c++基本差不多,但and、or、not更直觀: c\++: ```c++= a && b a || b !a ``` python: ```python= a and b a or b not a ``` if: 不用小括號、大括號: ```python= if 條件: 程式碼#不能空著,一定要縮排 ``` else 跟else if: ```python= if 條件: 程式碼 elif 條件:#可簡寫成elif 程式碼 else: 程式碼 ``` for與while迴圈: 直接對比會比較方便 c\++: ```c++= for(int i=0;i<5;i++){ cout<<i<<"\n"; } while(1){ cout<<"6"; } ``` python: ```python= for i in range(5): print(i) while 1: print(6,end="")#end=""表示輸出完之後要輸出什麼,預設是\n,也就是自動換行 ``` range()括號內可以有1~3個數字,當只有一個數字時: range(5)=(0,1,2,3,4) 也就是從0開始到5結束,**注意,不包含5**。 當兩個數字時: range(起始值,終止值) range(2,4)=(2,3) 當三個數字時: range(起始值,終止值,每次加多少) range(3,7,2)=(3,5) 陣列: 宣告: `a=[]` 與c++不同的是,你如果輸入a[2]不代表a有兩個空格,而是a內有2這個元素。 python的陣列可以包含不同型態的資料,甚至是一個陣列: `a=[4,"str",4.5,[2,3]]` 從最後面加入: `a.append(值)` 取出: `a.pop(位置,預設是最後面)#有回傳值` 插入: `a.insert(位置)#在這個位置後的元素會往後挪` 移除(值): `a.remove(值,不是位置)` 要判斷元素是否在陣列內: `x in a:#回傳1或0` 數某個元素出現的次數: `a.count(x)` 長度: `len(a)` 最大\/最小值: ``` max(a) min(a) ``` 排序: `a.sort()` 反轉: `a.reverse()` 這篇教材是倉促間完工的,還有很多地方沒講到,請見諒。