python獲取多輸入


我們都知道python的input()函數是以字符串的形式輸入的,這就產生了一個問題:當我們在一行內輸入多個數值時,input()不會去判斷輸入元素個數,它只管把這行輸入以字符串的形式輸入,因此我們要得到每一個元素時就需要對字符串分割,再強轉成我們需要的類型。這樣做明顯很麻煩。下面我介紹一種簡單的方法:

>>> a = map(int, input('').split())
1 2 3
>>> a
<map object at 0x000001A955B69AC8>

如上面代碼所示我們成功獲得了多個輸入,但是此時還是有問題:它的類型是map對象,我們還是無法直接使用。我們只需稍作處理即可:

>>> b = list(map(int, input('').split()))
1 2 3
>>> b
[1, 2, 3]

我們看到現在多個輸入值已經可以方便使用了。接下我們只需修改map中的數據類型就能得到不同類型的列表:

>>> c = list(map(float, input('').split()))
1 2 3
>>> c
[1.0, 2.0, 3.0]
>>> d = list(map(str, input('').split()))
1 2 3
>>> d
['1', '2', '3']

 下面這種方法比較實用,個人比較推薦:

>>> e = [int(i) for i in input('').split()]
1 2 3
>>> e
[1, 2, 3]

 當我們知道輸入的參數個數時,可以采用如下方法:

>>> l, r, k = map(int, input().split())
1 2 3
>>> l
1
>>> r
2
>>> k
3

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM