本文為《文組生也能看得懂的 Python 筆記》系列的一部分
想看完整 Python 教學懶人包?請看這裡:
input( ) 輸入函數
input( ) 是讓他人能輸入資料的函數,不論輸入什麼內容,資料類型永遠是字串(str)。基本用法
name = input("你的名字")
print("你好" + name)
輸出結果:
你的名字 Penny
你好 Penny
Penny 可以替換成任何輸入的名字。
進階用法:轉換資料類型
假設我們想讓使用者輸入名字和年齡,並計算「明年幾歲」:
名字=input("你的名字")
年齡 =input("你的年齡")
明年年齡 = 年齡 +1
print("你好" + 名字 + "你明年就是" + 明年年齡 +"歲")
執行後會出現錯誤:
你的名字 Penny
你的年齡22
Traceback (most recent call last):
File "C:\Users\User\PycharmProjects\PythonProject\test1.py", line 3, in <module>
明年年齡 = 年齡 +1
~~~~~^~
TypeError: can only concatenate str (not "int") to str
為什麼會錯
- 因為input( )的內容是字串(str),因此年齡這變數也是字串,字串是無法加減乘除,因此須用 int( ) 或 float( ) 將它轉成數字類型。
明年年齡 = int(年齡) +1
- 在上一篇提到,只有「文字 +字串」才能輸出。因為「明年年齡」為數字類型,需用 str( ) 轉成字串。
print("你好" + 名字 + "你明年就是" + str(明年年齡) +"歲")
輸出結果:
你的名字Penny
你的年齡22
你好Penny你明年就是23歲
小補充:確認資料型態
可以用 type( ) 檢查變數的資料類型
#名字=input("你的名字")
年齡 =input("你的年齡")
print(type(年齡))
這裡用 # 暫時讓第一行程式不執行
輸出結果:
你的年齡22
<class 'str'>
因此年齡的資料類型為字串(str)
因為「資料類型轉換」觀念一開始會有點繞、容易搞混,所以下一篇我們不講理論了,直接用幾題練習題帶你實戰操作!











