【Python自學】使用者輸入input()函數的方法|簡易購物車程式
📘 Python 使用者輸入:input() 函數使用方法
在寫程式時,我們常常需要讓使用者輸入資料,例如姓名、年齡、商品價格、購買數量等等。
Python 提供了 input() 函數,可以讓程式暫停,等待使用者輸入內容。
🧭 input() 函數的用途
input() 用來從使用者那邊接收文字輸入。
它最重要的特性是:
就算使用者輸入的是數字,例如 123,Python 也會先把它當成字串 "123"。
所以,如果要把使用者輸入的數字拿來做加減乘除,就需要先做型別轉換。
🧩 input() 函數的基本用法
最基本的寫法如下:
執行後,程式會停住,等待使用者輸入。
程式執行範例
如果使用者輸入 Yuan,程式就會把輸入內容存進變數 name,再印出問候文字。
🔁 常見的型別轉換
剛剛提到,input() 回傳的值都是字串。
如果要把使用者輸入的內容拿來做數學運算,就需要轉成數字型別。
| 轉換函數 | 用途 | 範例 |
|---|---|---|
| int() | 轉成整數 | int("4") → 4 |
| float() | 轉成小數 / 浮點數 | float("23") → 23.0 |
| str() | 轉成字串 | str(100) → "100" |
例子一:使用 int() 轉成整數
如果使用者輸入 4:
因為 input() 原本得到的是字串 "4",經過 int() 轉換後,才變成整數 4。
例子二:使用 float() 轉成小數
如果使用者輸入 23:
因為 float() 可以把輸入內容轉成浮點數,所以可以進行除法運算。
⚠️ 為什麼一定要型別轉換?
如果沒有轉換型別,可能會得到不是你預期的結果。
沒有轉換型別的例子
這樣會出錯,因為 age 是字串,不能直接和整數 1 相加。
正確寫法是:
input() 得到的是文字;要計算,就先轉成數字。
🛒 簡易的購物車程式
接下來寫一個簡易購物車程式,讓使用者輸入:
- 要購買的商品名稱。
- 商品價格。
- 購買數量。
最後程式會計算總金額,並印出購買結果。
完整程式碼
程式執行範例
綠色部分可以理解成使用者輸入的值。
🔎 購物車程式邏輯說明
這段程式主要做了四件事。
1. 接收商品名稱
商品名稱通常是文字,所以不需要轉型,直接使用 input() 即可。
2. 接收商品價格並轉成 float
因為價格要拿來計算,所以要用 float() 轉成數字。
3. 接收購買數量並轉成 float
這裡使用 float(),所以數量會顯示成 3.0。
如果你希望數量是整數,可以改用 int()。
4. 計算總金額
將價格乘上數量,就可以得到總金額。
5. 使用 f-string 輸出結果
f-string 是 Python 的格式化字串寫法。
只要在字串前面加上 f,再用 {變數名稱},Python 就會自動把變數內容放進字串中。
✨ 小改良:讓輸出結果更漂亮
原本數量和金額可能會顯示成 3.0、600.0。
如果想讓結果更漂亮,可以讓數量使用 int(),金額使用 :.2f 顯示小數點後 2 位。
程式執行範例
其中 {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() 收到的一律是字串;要算數字,先轉型。
留言
張貼留言