python中input()的用法及擴展
input() 的用法
Python3.x 中
input() 函數接受一個標準輸入數據,返回為 string 類型。
python3將input() 和 raw_input() 進行瞭整合,去除瞭raw_input( ),僅保留瞭input( )函數。
Python2.x 中
input() 相等於 eval(raw_input(prompt)) ,用來獲取控制臺的輸入。
raw_input() 將所有輸入作為字符串看待,返回字符串類型。
input() 在對待純數字輸入時具有自己的特性,它返回所輸入的數字的類型( int, float )。
註意:python2裡input() 和 raw_input() 這兩個函數均能接收字符串 ,但 raw_input() 直接讀取控制臺的輸入(任何類型的輸入它都可以接收)。而對於 input() ,它希望能夠讀取一個合法的 python 表達式,即你輸入字符串的時候必須使用引號將它括起來,否則它會引發一個 SyntaxError 。除非對 input() 有特別需要,否則一般情況下我們都是推薦使用 raw_input() 來與用戶交互。
註意:python3 裡input() 默認接收到的是 str 類型。
示例:
#python2 #input() 需要輸入 python 表達式 >>>a = input("input:") input:123 # 輸入整數 >>> type(a) <type 'int'> # 整型 >>> a = input("input:") input:"runoob" # 正確,字符串表達式 >>> type(a) <type 'str'> # 字符串 >>> a = input("input:") input:runoob # 報錯,不是表達式, 字符串需加引號 Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1, in <module> NameError: name 'runoob' is not defined <type 'str'> #raw_input() 將所有輸入作為字符串看待 >>>a = raw_input("input:") input:123 >>> type(a) <type 'str'> # 字符串 >>> a = raw_input("input:") input:runoob >>> type(a) <type 'str'> # 字符串 #python3 #input() 示例用法如同raw_input
擴展—將控制臺輸入的字符串轉化成列表
示例:
eg1.
>>> x=input() 1,2,3,4 >>> xlist=x.split(",") >>> print(xlist) ['1', '2', '3', '4'] >>> xlist = [int(xlist[i]) for i in range(len(xlist))] #for循環,把每個字符轉成int值 >>> print(xlist) [1, 2, 3, 4] #split(“”)函數的參數可以是任何分隔符,包括(a,b,c….;1,2,3…;%,!,*,空格)
eg2.
>>> x=input() 1 2 3 4 >>> xlist=x.split(" ") >>> print(xlist) ['1', '2', '3', '4'] >>> xlist = [int(xlist[i]) for i in range(len(xlist))] >>> print(xlist) [1, 2, 3, 4]
轉換成元組的方法類似。
附:str list tuple 相互轉換的方法:
列表,元組和字符串python中有三個內建函數:他們之間的互相轉換使用三個函數,str(),tuple()和list(),具體示例如下所示:
>>> s = "xxxxx" >>> list(s) ['x', 'x', 'x', 'x', 'x'] >>> tuple(s) ('x', 'x', 'x', 'x', 'x') >>> tuple(list(s)) ('x', 'x', 'x', 'x', 'x') >>> list(tuple(s)) ['x', 'x', 'x', 'x', 'x']
列表和元組轉換為字符串則必須依靠join函數,如下所示:
>>> "".join(tuple(s)) 'xxxxx' >>> "".join(list(s)) 'xxxxx' >>> str(tuple(s)) "('x', 'x', 'x', 'x', 'x')"
input函數的高級使用
a = input('請輸入一個加數:') b = input('請輸入一個加數:') print(a+b)
輸入一個數10回車
輸入30回車
查看類型
a = input('請輸入一個加數:') b = input('請輸入一個加數:') print(type(a),type(b)) print(a+b)
a = input('請輸入一個加數:') a = int(a) #將轉換之後的結果存儲到a中 b = input('請輸入一個加數:') b = int(b) print(type(a),type(b)) print(a+b)
另一種方法
a = int(input('請輸入一個加數:')) b = int(input('請輸入一個加數:')) print(type(a),type(b)) print(a+b)
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。