# python 初學者教學 (class 1)
## 準備
線上編輯網站
https://www.onlinegdb.com
==注意 ! 右上角要選擇python==
## 第一章 你一定要知道的程式碼
### 如何建立變數?
可以直接設定,不需要int如下
```python=
i = 0
```
解釋 :
==i 為變數名稱,0 為變數存入的數字。==
### 如何輸出文字?
可以使用print來顯示文字,如下
```python=
print ( )
```
解釋 :
==print 為顯示文字指令,( )內則是顯示的文字。==
### 合併起來試試看
```python=
i = 0
print (i)
```
這樣就會輸出0
解釋 :
==初始化 i = 0,輸出 i ,也就是輸出 0 。==
### 當然,你也可以輸出文字
猜猜看,哪裡錯了?
```python=
i = 你好
print (i)
```
==其實因為中文不是一個數值,所以要加上''或是"" 。==
以下是正確解法 :
```python=
i = "你好"
print (i)
```
### 如何輸入文字
可以使用print來顯示文字,如下
```python=
input( )
```
### 做一個複讀機
```python=
a = input("請輸入字串\n")
print(a)
```
解釋 :
==使用 input 將變數 a 設定為玩家輸入的字串,並使用 print 輸出,便可以做到複讀機。==
### 做一個計算機(加法)
猜猜看,為甚麼會變成被加數和加數的字拼接?
```python=
a = input("請輸入被加數\n")
b = input("請輸入加數\n")
print(a + b)
```
==因為系統會以為你要輸出 a 和 b 的字拼接,所以要加入 int( ) 。==
以下是正確解法 :
```python=
a = input("請輸入被加數\n")
b = input("請輸入加數\n")
print(int(a) + int(b))
```
也可以這樣
```python=
a = int(input("請輸入被加數\n"))
b = int(input("請輸入加數\n"))
print(a + b)
```
==:warning:==
==int後面的( )要包在變數的名稱之間喔 !==
### 如何使用資料庫(也稱列表)
*舉例說明 :
有多位學生,老師要登記學生分數,但因學生實在太多,有100個,所以為了減少程式碼,他可以怎麼做 ?*
我們可以用列表來存入資料,如下
```python=
score = [90,80,70,89,100]
print (score)
```
==:warning:==
==一定要是[中括弧]喔 !==
解釋 :
==有五位同學,成績分別是 90,80,70,89,100 ,我們使用 print 把他個個輸出==
### 如何輸出在列表中我們想要的那一個位數
我們可以用元組來抓取,如下
```python=
score = (90,80,70,89,100)
print (score[3])
```
==:warning:==
==一定要是(小括弧)喔 !==
解釋 :
==print (score[3]) 的3是指第三個數字==
==90是第0個,80是第1個,70是第2個,以此類推...==
### 如何做條件判斷
舉例說明 :
1.如果我肚子餓,我就去吃飯。
2.如果今天下雨,我就開車去上班,否則我就騎車去上班。
我們可以用 if 及 else 來達成,如下
舉例1範例
```python=
hungry = True
if hungry == True:
print ('我要去吃飯')
```
==:warning:==
==if 判斷一定要用兩個 = 喔 !==
舉例2範例
```python=
rainy = False
if rainy == True:
print ('開車去上班')
else : print ('騎車去上班')
```
==:warning:==
==else 後面一定要加 : 並且要換行和 if 對齊喔 !==
### 進階計算機
備註 : 可以使用加減乘除的計算機
我們可以用上面的 if else print input 和 變數 來解答喔 ! 如下
```python=
a = input("請輸入第一個數\n")
b = input("請輸入 + 或 - 或 * 或 /\n")
c = input("請輸入第二個數\n")
if b == "+" :
print("答案等於",int(a) + int(c))
elif b == "-" :
print("答案等於",int(a) - int(c))
elif b == "*" :
print("答案等於",int(a) * int(c))
elif b == "/" :
print("答案等於",int(a) / int(c))
else : print("\n不支持的語言")
```
==:warning:==
==if 判斷一定要用兩個 = 喔 !==
你一定要知道 :
==elif是else if的縮寫,用於在多個條件之間進行選擇。當前面的條件不滿足時,程序會檢查elif後面的條件。==
解釋 :
==a 為第一個數字, b 為加減乘除符號, c 為第二個數,我們使用 if 判斷符號是不是"+",如果不是,那麼就判斷是不是"-",如果不是,就判斷是不是"",如果不是,就判斷是不是"/",如果都不是,就輸出(不支持的語言)==
## 第二章 轉換型態
python型態分為以下三種 :
1.數值型態:int, float, bool
2.字串型態:str, chr
3.容器型態:list, dict, tuple
那麼這裡先教簡單的 int 和 float 和 bool 和 str 。
### int 是存放整數數字,如下
```python=
a = int(5.7)
print(a)
```
### float 是存放有小數點的數字,如下
```python=
a = float(0.5)
print(a)
```
### 合併起來做加法計算
```python=
a = int(3.5)
b = float(7.8)
c = int(8.1248795) + a
print(a + b + c)
```
解釋 :
==a 會因為 int 而捨去 0.5 ,而 b 因為是 float 型態,所以小數點不會被捨去,而 c 會因為 int 而捨去 0.1248795 ,相加後得出 21.8==
### :warning:做一個只會復數1-5數字的復讀機:warning:
猜猜看,為甚麼這段指令碼有BUG?
```python=
a = input("你好 ! 我是只會復讀0-5數字的復讀機,請輸入要我復讀的數字 : \n")
if a <= 5:
print(a)
else:print("數字大於五,超過標準")
```
以下是BUG問題 :
```
Traceback (most recent call last):
File "/home/main.py", line 20, in <module>
if a <= 5:
TypeError: '>' not supported between instances of 'str' and 'int'
```
因為輸入進去的 a 會被系統誤認為字串,由於字串無法做計算,所以要把 a 轉換成 int 型,如下 :
```python=
a = int(input("你好 ! 我是只會復讀0-5數字的復讀機,請輸入要我復讀的數字 : \n"))
if a <= 5:
print(a)
else:print("數字大於五,超過標準")
```
## 結尾
### 恭喜
恭喜你,學會python的基本知識了!
挑戰看看練習題吧 !
https://hackmd.io/@JonathanYang0731/HkANbanUh
### 若您對python有興趣想繼續學,請點下方連結進入class 2
https://hackmd.io/@JonathanYang0731/BJdq1M083
### 本次教學到此告一段落
`python`
## 練習題
https://hackmd.io/@JonathanYang0731/HkANbanUh