2012-07-10 27 views
8

如何接受由空格分隔的多個用戶輸入?我不知道輸入的數量,但我知道它們都是整數。接受由python中的空格分隔的多個用戶輸入並將它們附加到列表中

下面是一些例子輸入:

13213 412 8143 
12 312 
1321 142 9421 9 29 319 

我知道可以這樣做,如果我知道的輸入數量事前,但我無法使這個普通的。我可以要求用戶輸入整數如何多組,他將輸入:

inputs = int(raw_input("Enter number of raw inputs ")) 
num = [] 
for i in xrange(1, inputs): 
    num.append(raw_input('Enter the %s number: ')) 

但是我正在尋找不需要詢問用戶2個問題一個更優雅的解決方案。

回答

23
s = raw_input("Please enter your numbers: ") 

mynums = [int(i) for i in s.split()] 
# OR 
mynums = map(int, s.split()) 
+3

argv!打我26秒! – inspectorG4dget 2012-07-10 00:07:04

+0

@ inspectorG4dget謝謝!我認識你們兩個,我必須公平,儘管線上線更爲優雅 – pyCthon 2012-07-10 00:11:12

+0

+1給你們兩個 - @ inspectorG4dget特別認可「argv!」 – mgilson 2012-07-10 00:24:18

12

嘗試這種情況:

nums = [int(i) for i in raw_input("Enter space separated inputs: ").split()] 
0

爲Python 2.x的

的x,y =地圖(中間體,的raw_input()分裂())

它取兩個變量x和y的int型用空格分隔,你可以用你想要的類型替換int

爲Python 3.x的

的x,y =輸入()。分裂()

需要兩個變量x和由空格隔開字符串類型的y和你要轉換明確

0

x,y=map(int,input().split())#這將採取輸入分隔的空間和地圖#into int

+0

我沒有看到任何標籤或評論這是什麼語言。你能澄清這個問題嗎? – TravisEz13 2016-06-10 17:22:24

相關問題