2-1:變數、運算式、輸入輸出
Chapter 02:程式基礎教學

2-1:變數、運算式、輸入輸出

變數

所謂變數就是,妳可以想像成是一個箱子,這個箱子可以存放數值、字串…… 等資料,下面有個簡單的範例:

叮噹貓有 x 個銅鑼燒,被小叮噹搶走 7 個後,叮噹貓還剩 3 個!試問,叮噹貓原本有幾個銅鑼燒?

這是很簡單的算式:x – 7 = 3,x = 3 + 7 = 10。 x 是變數,它的值是 10。


在程式語言裡,要使用變數時要先宣告並放入初始值。
在 Python ,要宣告變數很簡單,以下為例:
我要設一個 name 變數,值為字串 JamesB。
只要寫成:name = “JamesB”
就行。

P.S. 字串要用單引號或雙引號包起來

name = "JamesB" # 宣告 name 變數,放入初始值 字串 JamesB。
score = 98      # 宣告 score 變數,放入初始值 98。

變數的命名

當要命名一個變數時,可以使用英文字母、底線 (_) 和數字,但是數字不能放在開頭,且不可使用保留字!

保留字就是:if、elif、else、for、while、def…… 等

# 正確命名方式
name = "Captain Kirk"
y1 = 2022
doraemon_bgm = 22

# 錯誤命名方式
1year = 2022
for = 3
if = 2

運算式

簡單來說,可以運算出結果的式子,就是運算式。
由運算元和運算子組合,例如:
a = a + 1,其中 a 是運算元、= 和 + 為運算子。


而運算子還可以細分為好幾種,例如:(這裡只列幾種常用的)

  1. 算數運算子
  2. 關係運算子
  3. 邏輯運算子
  4. 指派運算子…… 等等

以上述例子為例:a = a + 1
= 是指派運算子
+ 是算數運算子

a = a + 1 還可以簡寫成 a += 1
+= 也是指派運算子


範例:
a = 10、b = 18

a = a + 10    # 變數 a 加 10 為 10 + 10 = 20
b += 2        # 變數 b 加 2 為 18 + 2 = 20
print(a == b) # 判斷 a 和 b 的值是否相等,相等回傳 True,反之則為 False。

a /= 2         # 變數 a 除以 2 為 20 / 2 = 10
print(a > 15)  # 判斷 a 是否有大於 15,有就回傳 True,反之則為 False。
print(b <= 20) # 判斷 b 是否有小於等於 20,有就回傳 True,反之則為 False。

print(a + 10 > 10 and b <= 20) # 判斷 a 加 10 是否有大於 10,有就回傳 True,反之則為 False;判斷 b 是否有小於等於 20,有就回傳 True,反之則為 False;再將這兩個布林值做 and 邏輯運算。

# a + 10 > 10 為 True、b <= 20 為 True、最後 True and True 也是 True。

運算子範例意義
算數運算子
+a + 3加法
a – 3減法
*a * 3乘法
/a / 3除法
//a // 3整除,沒有小數點
%a % 3求餘數
**a ** 3次方計算
關係運算子
==a == b判斷是否相等
!=a != b判斷是否不相等
a > b判斷 a 是否大於 b
a < b判斷 a 是否小於 b
>=a >= b判斷 a 是否大於等於 b
<=a <= b判斷 a 是否小於等於 b
邏輯運算子a = True、b = False
anda and b且(兩個都是 True 就是 Ture)
ora or b或(其中一個是 True 就是 Ture)
not not a非(將 True 變 False、將 False 變 True)
指派運算子a = 10
=a = 5指派
+=a += 5指派相加
-=a -= 5指派相減
*=a *= 5指派相乘
/=a /= 5指派相除
//=a //= 5指派整除
%=a %= 5指派求餘數
**=a **= 5指派次方計算
&=a &= 5指派做 and 位元運算
|=a |= 5指派做 or 位元運算
^=a ^= 5指派做 xor 位元運算
<<=a <<= 3指派做左移位元運算
>>=a >>= 3指派做右移位元運算

以上表格簡單整理一些運算子,先看看就好!
之後有實際用到再多做說明


輸入輸出

在 Python,可以用 input() 命令,接收使用者的指令,例如:
a = input(“請輸入數字:”)
使用者輸入後按 Enter,變數 a 的值就是我們輸入的值。

但是輸入的這個值會是字串型態,即便輸入的是 1 也一樣。
字串型態就無法做運算相加!
要讓輸入的值為整數型態,那就要在 input() 命令外再包一個 eval() 命令,如下:
a = eval(input(“請輸入數字:”))

a = input("請輸入數字:")
b = eval(input("請輸入數字:"))

print(type(a))
print(type(b))

print(a)
print(b)

綜合練習

name = input("請輸入妳的姓名:")                        # 宣告 name 變數,放入初始值 字串。
score = eval(input("請輸入妳的分數:"))                 # 宣告 score 變數,放入初始值。
print("你好", name, "\n你的分數是:", score, "分!\n")  # 使用 print() 命令輸出 name 和 score 的值;用逗號連接字串。 P.S. \n 為換行符號

score += 2                                             # 將 score 變數加二;為 score = score + 2 的簡寫。
print("調整後的分數為:" + str(score) + "分")           # 使用 print() 命令輸出 score 的值;用 + 號連接字串。  P.S. 用 + 號連接時,因為 score 變數是 int 整數型態,所以要用 str() 命令包起來,使它變成 str 字串型態。

這一次的教學就到這邊,有任何問題都歡迎留言詢問!

Google Colab 筆記超連結








如果覺得文章內容還不錯的話,麻煩請幫我點個讚!感謝

可以多點幾次喔~~

第一次點讚需使用 Google 或 Facebook 帳號註冊

發表迴響