🔹 什麼是輸入?
- 使用 input() 讓使用者從鍵盤輸入資料
- 輸入值預設是 字串(str),其他資料型態需轉換
name = input("請輸入你的名字:")
print("哈囉," + name)
🔹 不同資料型態輸入
# 輸入整數(int)
num = int(input("請輸入整數:")) # 將輸入字串轉為整數型別
# 輸入浮點數(float)
score = float(input("請輸入分數:")) # 將輸入字串轉為浮點數型別
# 輸入字串(str)
name = input("請輸入名字:") # 預設為字串,不需轉型
# 輸入布林值(bool)
yes = input("是否繼續 (y/n):") == "y" # 若輸入為 "y" 則為 True,否則為 False
# 輸入列表(list) - 字串列表
items = input("請輸入多個值(以空格分隔):").split() # ['a', 'b', 'c']
# 輸入列表(list) - 整數列表
nums = list(map(int, input("請輸入多個整數(空格分隔):").split())) # [1, 2, 3]
# 輸入元組(tuple)
tup = tuple(input("請輸入多個值(空格分隔):").split()) # ('a', 'b', 'c')
# 輸入集合(set)
s = set(input("請輸入多個值(空格分隔):").split()) # {'a', 'b', 'c'}(不重複)
# 輸入字典(dict) - 基本手動轉換
kv = input("請輸入鍵與值,用冒號分隔(例如 name:Tom):")
key, value = kv.split(":")
d = {key: value}
print(d) # 輸出為 {'name': 'Tom'}
🔹 進階技巧
n = int(input("請輸入資料筆數:"))
for i in range(n):
data = input(f"第{i + 1}筆資料:")
print("你輸入的是:", data)
# 輸入多個整數
a, b = map(int, input("請輸入兩個整數:").split()) # 一次輸入兩個數字並轉成整數
# 輸入多個浮點數
x, y = map(float, input("請輸入兩個浮點數:").split()) # 分別轉成 float 型別
# 輸入多個字串
first, last = input("請輸入姓與名(空格分隔):").split() # 拆成兩個字串變數
try:
num = int(input("請輸入整數:"))
print("平方為:", num ** 2)
except ValueError:
print("請輸入正確的整數!")
🔹 注意事項
-
input()
的回傳值預設為 字串(str),進行數值運算前記得轉型
- 資料轉型常用
int()
、float()
等函式處理
- 多筆或多值輸入時,可善用
split()
搭配 map()
- 對使用者輸入的內容要有預期,必要時可加上錯誤處理,避免程式中斷
🔹 參考文件