# 從零到一學習程式語言 — Python ( Ep.1 )
這篇教學將會帶著您從最基本的程式碼,開始了解Python。
## 前言
Python 是一個程式初學者也適用的程式語言,只要有基礎觀念,幾乎可以立即上手,同時適用於大量的商業應用上。目前已超越許多程式語言,成為各大學課程中的主流入門程式語言。Python可以應用於網路爬蟲、數據分析、機器學習與人工智慧、網站開發、遊戲開發等各種地方。
## 前置設定
為了開始程式的編寫,我們需要有一個用於編譯程式的地方,為了避免過於繁瑣的設定流程,過於耗時的安裝方式,此篇教學使用網頁版的replit,進行程式碼的編輯。
Replit網址:https://replit.com/languages
提供線上集成開發環境服務的平台,提供許多目前常見的各種程式語言,像是Java、Python、Javascript、PHP…等多種程式語言。
### 1 . 進入Replit並點擊藍色的按鈕 + Create repl
建立一個Repl,參照下圖:

### 2 . 新增一個Repl,並設定為Python
設定Template為Python,並點擊右下方的 + Create Repl:

### 3 . 已經完成編寫程式的前置準備!
成功完成了編寫程式的前置準備,並發現左側Files出現了 main . py:

## 基礎教學
以下教學會從最簡單、常用的程式碼開始教學,讓使用者可以從零到一了解程式編譯!
### 1 . Print:讓你輸出想要的值
Print 是代表輸出,也就是輸出一個值
```javascript=
print('hello world')
```
運行此程式碼後,會在輸出的地方顯示 hello world。
程式碼其中的 ‘ hello world ‘ 前後有加引號,代表這是一個字串,字串可以是任何文字、數字,但編寫時要注意前後一定要加引號。
同時也可以替換為
* 字串
```javascript=
print("一二三")
```
* 數字
```javascript=
print(123)
```
* 布林值 (True)
```javascript=
print(True)
```
* 變數 (a)
```javascript=
a = 123
print(True)
```
### 2 . Input:讓使用者輸入值
剛剛介紹了輸出 (print) 而input就是輸入
```javascript=
name = input("Your Name: ")
print(name + "你好")
```
運行這段程式碼後,會在輸出的地方看到Your Name:,代表程式提示您進行輸入,可以在輸出的地方輸入自己的名字。輸入後輸出的地方會顯示您剛剛輸入的名字並加上字串你好。
延伸:輸入的文字會被認定為字串,如要將其定義為數字:
```javascript=
a = int(input('輸入一個整數'))
```
可以在input加上括號,並在前方加入int。
### 3 . Variable:將值存在「變數」內
Variable的意思是變數,可以儲存下方的這幾種資料型態:
| 類型 | 英文簡寫 | 舉例 |
| -------- | -------- | -------- |
| 整數 | int | 1 |
| 浮點數 | float | 1.5 |
| 布林值 | bool | True |
| 字串 | str | “字串” |
**宣告變數**:
```javascript=
a = 123
```
此時會宣告一個變數(整數):a,且他的值為123,那如何讀取變數呢?
```javascript=
a = "一個字串"
print(a)
```
使用print或其他方法,並輸入變數的名稱,就可以讀取變數的值!
使用下方方法,可以偵測並輸出變數的資料型態:
```javascript=
a = "1"
print(type(a))
```
### 4 . if else:判斷條件是否成立並執行程式
if 是如果,而else是否則,用法如下:
```javascript=
a = 300
if a == 300 :
print("a是300")
else :
print("a不是300")
```
此時程式碼會輸出a是300,因為第一個:如果a等於300的條件是成立的。
注意:條件判斷時要寫成 a == 300 而不是 a = 300
那還有什麼比較兩個值的條件呢?
> 大於
< 小於
<= 小於等於
>= 大於等於
== 等於
!= 不等於
也可以使用布林值 a = true
true 真的
false 假的
and 且
or 或
not 非
### 5 . for loop:讓程式反覆執行
for loop 可以讓程式反覆執行,是Python最簡單的迴圈方式。
當你想列出很多數字,若一行一行寫,想必不是最佳方法:
```javascript=
for i in range(0,10):
print(i)
```
此時會從0輸出到小於時的數字,也就是9。
range也就是一個產生器,可以在這個範圍中拿資料。
而這邊的print(i)是輸出i這個變數。
### 6 . list:儲存大量資料的變數
當你有大量的數值要儲存,用剛剛的變數就不是一個明智的選擇,而你可以用list:
```javascript=
info = [12, 160, "winson" , True]
```
此時會新增一個list,且內部有這四個值:12、160、winson、True
那要如何取出list的其中一個值呢?
```javascript=
info = [12, 160, "winson" , True]
a[0]
```
此時會取出list中的12
注意:此時的第n個值是從0開始計算
如果要知道list的長度:
```javascript=
a = [1, 2 ,3 ,4]
len(a)
```
此時可以取得a這個list的長度 ( 也就是4 )
除此之外,也有各種操縱這個list的程式:
list.append(x) 在list內新增x這個變數
list.insert(i, x) 把變數x放入i這個位置
list.pop(i): 刪除list的第i格
list.remove(x) 會把list中第一個出現的x拿掉
list.clear(): 清除list中的所有資料
## 實作練習
### 一、製作一個基本計算機
如果你要寫出一個程式,當開始時會詢問您第一個數字,輸入後再詢問第二個數字,並在最後將這兩個數進行四則運算的結果加入一個list並寫出。
舉個簡單的例子
**動作**:首先輸入3,接著輸入5
**結果**:`[‘a+b=8’, ‘a-b=-2’, ‘a*b=15’, ‘a/b=0.6’]`
#### 提示
1 . 會使用到input,並需要使用至少兩個變數。
2 . 輸入的數字會是字串,要用文中的方法定義為整數。
3 . 加:+,減:-,乘:*,除法:/。
4 . 使用 print(f"a/b={a}") 可以讓字串中包含一個變數的值
解答:僅供參考,如使用不同方法寫出了同樣的結果,也是正確的!
```javascript=
a = int(input("請輸入第一個數字:"))
b = int(input("請輸入第二個數字:"))
c = []
c.append(f"a+b={a+b}")
c.append(f"a-b={a-b}")
c.append(f"a*b={a*b}")
c.append(f"a/b={a/b}")
print(c)
```
如果寫出來了,那恭喜你!你對Python已經逐漸熟悉了 ~
若沒有寫出來,那可以再看一遍這篇文章以及上述解答,再繼續加油唷!
###### tags: `Python`