# 多元選修-資安實務
:::success
# 變數、資料型態與資料讀取
---
### 變數
<font color = red>變數名稱 = 指派值</font>
⚠由英文、數字、底線組成**==不得以數字開頭==
### 資料型態
* <font color = red>整數</font> int
* <font color = red>浮點數</font> float
* <font color = red>布林值(True, False)</font> bool
* <font color = red>字串("")</font> str
### 資料讀取
<font color = red>變數名稱 = input()</font>
```python=
#start
a = 1 #整數
b = 0.2 #浮點數
c = True #布林值
d = "Hello, World" #字串
e = input().split()#.split()可將資料以特定方式切割,切割之後資料變為list
print(type(a))
>>>int
```
::: warning
🚩強制轉換
* int() 轉整數
* float() 轉浮點數
* str() 轉字串
:::
:::danger
# 條件判斷與迴圈
---
### 條件判斷
* if......elif......else
### 迴圈
* for _ in ( ) :
* while ( ) :
```python=
#start
flag = True
for i in range(10): #判斷式結尾必加":"
if flag == True: #判斷是中"=="表判斷左右兩邊是否相同,"="則為指派變數
. #"==" "<=" ">=" "<" ">"皆為邏輯運算子
.
.
elif == True:
.
.
.
else:
while flag == True:#使用時須確認設置好終止條件,以免進入無限迴圈
.
.
.
```
:::warning
🚩range()
range(a, b, c)
* a 初始值(預設為0)
* b 結束值(不包含)
* c 間隔(預設為1)
🚨tab 縮排(四個空白)
在python中,同一縮排極為同一程式區塊
:::
:::info
# 資料結構
---
### 串列
list = [a, b, c, d]
🚧list為有序串列,索引值從0開始
* <font color = red>.append(a) </font> 將a加入串列末端
* <font color = red>.pop </font> 將串列最後一項取出
### 字典
dic = {a:b, c:d, key:value}
🚧dic類似於自訂索引值的串列,以key代替索引值來查詢value
* <font color = red>dic[key] = value </font> 設定dic內容
```python=
#start
data1 = [0, 1, 2, 3]
data2 = [ x for x in range(4)] #串列綜合表達式→可用類似for迴圈寫法將data1簡化
dictionary = {"apple":30, "banana":15, "melon":70}
dictionary["apple"] = 20
print(data1[1])
>>>1
print(data2[1])
>>>1
print(dictionary["apple"])
>>>20
```
```python=
#start
data = [i for i in range(10)]#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
data.append(100)
print(data[-1])#-1為最後一項
>>>100
print(data.pop())
>>>100
print(data.pop(3))#pop()可指定移除哪一項
>>>3
```
:::