2012-07-10 101 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

相关问题