---
# System prepended metadata

title: python 初學者教學 (class 1)

---

# 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