【Python自學】使用者輸入input()函數的方法|簡易購物車程式

這篇整理 Python 中 input() 函數的使用方法。input() 可以接收使用者輸入,但要特別注意:它回傳的資料型別永遠是字串 str

📘 Python 使用者輸入:input() 函數使用方法

在寫程式時,我們常常需要讓使用者輸入資料,例如姓名、年齡、商品價格、購買數量等等。

Python 提供了 input() 函數,可以讓程式暫停,等待使用者輸入內容。

🧭 input() 函數的用途

input() 用來從使用者那邊接收文字輸入。

它最重要的特性是:

input() 回傳的資料型別一定是字串 str。
就算使用者輸入的是數字,例如 123,Python 也會先把它當成字串 "123"

所以,如果要把使用者輸入的數字拿來做加減乘除,就需要先做型別轉換。

🧩 input() 函數的基本用法

最基本的寫法如下:

name = input("請輸入你的名字:") print("你好", name)

執行後,程式會停住,等待使用者輸入。

程式執行範例

請輸入你的名字:Yuan 你好 Yuan

如果使用者輸入 Yuan,程式就會把輸入內容存進變數 name,再印出問候文字。

🔁 常見的型別轉換

剛剛提到,input() 回傳的值都是字串。

如果要把使用者輸入的內容拿來做數學運算,就需要轉成數字型別。

轉換函數 用途 範例
int() 轉成整數 int("4") → 4
float() 轉成小數 / 浮點數 float("23") → 23.0
str() 轉成字串 str(100) → "100"

例子一:使用 int() 轉成整數

age = int(input("請輸入年齡:")) print(age + 1)

如果使用者輸入 4

請輸入年齡:4 5

因為 input() 原本得到的是字串 "4",經過 int() 轉換後,才變成整數 4

"4" → int("4") → 4

例子二:使用 float() 轉成小數

price = float(input("請輸入金額:")) print(price / 2)

如果使用者輸入 23

請輸入金額:23 11.5

因為 float() 可以把輸入內容轉成浮點數,所以可以進行除法運算。

"23" → float("23") → 23.0

⚠️ 為什麼一定要型別轉換?

如果沒有轉換型別,可能會得到不是你預期的結果。

沒有轉換型別的例子

age = input("請輸入年齡:") print(age + 1)

這樣會出錯,因為 age 是字串,不能直接和整數 1 相加。

TypeError: can only concatenate str (not "int") to str

正確寫法是:

age = int(input("請輸入年齡:")) print(age + 1)
簡單記法:
input() 得到的是文字;要計算,就先轉成數字。

🛒 簡易的購物車程式

接下來寫一個簡易購物車程式,讓使用者輸入:

  • 要購買的商品名稱。
  • 商品價格。
  • 購買數量。

最後程式會計算總金額,並印出購買結果。

完整程式碼

item = input("你要買什麼?") price = float(input("價格是多少?")) quantity = float(input("總共要買幾個?")) total = price * quantity print(f"購買了{quantity}個{item}總共需要{total}元")

程式執行範例

綠色部分可以理解成使用者輸入的值。

你要買什麼?fry 價格是多少?200 總共要買幾個?3 購買了3.0個fry總共需要600.0元

🔎 購物車程式邏輯說明

這段程式主要做了四件事。

1. 接收商品名稱

item = input("你要買什麼?")

商品名稱通常是文字,所以不需要轉型,直接使用 input() 即可。

2. 接收商品價格並轉成 float

price = float(input("價格是多少?"))

因為價格要拿來計算,所以要用 float() 轉成數字。

3. 接收購買數量並轉成 float

quantity = float(input("總共要買幾個?"))

這裡使用 float(),所以數量會顯示成 3.0

如果你希望數量是整數,可以改用 int()

quantity = int(input("總共要買幾個?"))

4. 計算總金額

total = price * quantity

將價格乘上數量,就可以得到總金額。

5. 使用 f-string 輸出結果

print(f"購買了{quantity}個{item}總共需要{total}元")

f-string 是 Python 的格式化字串寫法。

只要在字串前面加上 f,再用 {變數名稱},Python 就會自動把變數內容放進字串中。

f-string 可以避免一直使用 + 串接字串,也不用每次都手動寫 str(),非常適合用來輸出結果。

✨ 小改良:讓輸出結果更漂亮

原本數量和金額可能會顯示成 3.0600.0

如果想讓結果更漂亮,可以讓數量使用 int(),金額使用 :.2f 顯示小數點後 2 位。

item = input("你要買什麼?") price = float(input("價格是多少?")) quantity = int(input("總共要買幾個?")) total = price * quantity print(f"購買了{quantity}個{item},總共需要{total:.2f}元")

程式執行範例

你要買什麼?fry 價格是多少?200 總共要買幾個?3 購買了3個fry,總共需要600.00元

其中 {total:.2f} 的意思是:把 total 顯示成小數點後 2 位。

📋 input() 重點速查表

最後用表格整理本文重點。

工具 用途 範例
input() 接收使用者輸入 name = input("請輸入名字:")
int() 轉成整數 int(input("年齡:"))
float() 轉成小數 float(input("價格:"))
f-string 把變數放進字串 f"你好{name}"

✅ 小結

input() 是 Python 中很常用的函數,尤其適合用來和使用者互動。

  • input():接收使用者輸入。
  • 回傳型別:input() 回傳的一定是字串 str
  • int():把輸入轉成整數。
  • float():把輸入轉成小數。
  • 型別轉換:如果要做數學運算,通常需要先轉型。
  • f-string:可以方便地輸出包含變數的文字。
使用者輸入 → input() 接收文字 → int() / float() 轉成數字 → 進行計算 → 用 f-string 輸出結果
最後用一句話記住:
input() 收到的一律是字串;要算數字,先轉型。

留言

這個網誌中的熱門文章

麻將新手必看!不知道聽什麼牌怎麼辦?超多種實戰聽牌範例,教你怎麼判斷胡牌機會

麻將教學懶人包|從規則到牌理的完整觀念整理(附實戰心得)

【新訓入伍】義務役新兵必看!入伍報到必備清單整理|2026年更新