首頁 > 軟體

python中input()的用法及擴充套件

2022-05-21 13:01:17

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)

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com