## 第二章 變數與運算式
### 變數命名規則
1.變數名稱只能由大小寫英文字、數字、_、中文組成
2.變數的第一個字母不能是數字
3.英文字母大小寫視為不同變數名稱
| acos | and | array | asin | assert | atan |
|:-----:|:-----:|:------:|:--------:|:-------:|:------:|
| break | class | close | continue | cos | Data |
| def | del | e | elif | else | expect |
| exec | exp | fabs | float | finally | floor |
| for | from | global | if | import | in |
| input | int | is | lambda | log | log 10 |
| not | open | or | pass | pi | print |
| raise | range | return | sin | sqrt | tan |
| try | type | while | write | zeros | |
### 常用跳脫字元

### %字串格式化

### %5d 超過在左方補空白字元
```
a=100
print("價格為%5d"%(a))
```
```
價格為 100
```
### %5s 超過在左方補空白字元
```
a='100'
print("價格為%5s"%(a))
```
```
價格為 100
```
### %8.2s 超過8,左方補空白字元。小數<2,補0
```
a= 100.1
print("價格為%8.2f"%(a))
```
```
價格為 100.10
```
### 字串格式化
print(字串.format(參數列))
「參數順序:格式設定」
## 第三章 判斷式
## 第四章 迴圈
### range
range(起始值,終止值)
range(起始值,終止值,間隔值)
### continue
執行中途暫時停住不往下執行,跳到迴圈起始處
```
for i in range(1,11)
if(i==6)
continue
print(i, end = ",")
#1,2,3,4,5,7,8,9,10,
```
## 第五章 串列與元組
### for in 讀串列
```
list1 = ["香蕉","蘋果","橘子"]
for s in list1:
print(s,end = ",")#香蕉,蘋果,橘子
```
### for range 讀串列
```
scores=[85,79,93]
for i in range(len(scores)):
print(scores[i])
#85
#79
#93
```
### 刪除串列元素
**串列名.remove(串列元素)**
若不在串列中,將發生錯誤
```
list1 = ["春天","夏天","秋天","冬天"]
list1.remove("夏天")
print(list1)
#['春天','秋天','冬天']
```
**串列名.pop(索引值)**
沒有參數,取出最後一個元素
**del 串列名稱(索引值)**
可以是負值,由後向前
索引超出範圍,將發生錯誤
**del 串列名稱(起始值:終止值[:間隔值])**
### 串列排序
**串列名稱.sort()**
由小到大排序
**串列名稱.reverse()**
順序反轉
**串列名稱2 = sorted(串列名稱1,reverse=True/False)**
不會改變原串列
True 由大到小
False 由小到大
## 第六章 字典
### 建立字典
**字典名稱={鍵:值,...}**
**字典名稱=dict{[[鍵:值],...]}**
**字典名稱=dict(鍵=值),...)**
### 取值
字典名稱[鍵]
### 當字典的鍵重複
前面的鍵會被覆蓋
### 當字典的鍵不存在
產生錯誤
### 字典名稱.get(鍵[,預設值])

### 修改字典
字典名稱[鍵] =值
### 刪除字典
**del 字典名稱[鍵]**
刪除字典中特定元素
**字典名稱.clear()**
刪除字典中所有元素
**del 字典名稱**
刪除字典
### setdefault
字典名稱.setdefault(鍵[,預設值])

## pandas
```
#載入csv檔,用dataframe格式存放資料
df = pd.read_csv("file_usd_gold.csv")
print(df)
#各欄位的描述統計
print(df.describe())
#取得前三列資料
print(df.head(3))
#取得後三列資料
print(df.tail(3))
#用欄位名稱取得單一欄位的整欄資料
print( df["exchange"])
#at[資料索引值,欄位名稱] 利用資料索引值及欄位名稱來取得「單一值」
print( df.at[19,"exchange"])
#iat[資料索引值,欄位順序] 利用資料索引值及欄位順序來取得「單一值」
print( df.iat[19,1])
#loc[資料索引值,欄位名稱] 利用資料索引值及欄位名稱來取得「資料集」
print( df.loc[[18,19],["exchange","gold"]])
#iloc[資料索引值,欄位順序]:利用資料索引值及欄位順序來取得「資料集」
print(df.iloc[[18, 19], [1, 2]])
#append():新增一列的資料
df = df.append({
"date": "20221129",
"exchange": 60,
"gold": 1690
}, ignore_index=True)
print( df.loc[[18,19,20],["date","exchange","gold"]])
#修改特定格子的值
df.at[20, "exchange"] = 33 #修改索引值為1的math欄位資料
df.iat[20, 2] = 1700
print( df.loc[[18,19,20],["date","exchange","gold"]])
#針對單一欄位排序
df = df.sort_values(["exchange"], ascending=False)
print(df["exchange"])
#篩選
print(df[ df["exchange"]>32])
```