9

如何接受由空格分隔的多个用户输入?我不知道输入的数量,但我知道它们都是整数。

以下是一些示例输入:

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 个问题。

4

4 回答 4

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

mynums = [int(i) for i in s.split()]
# OR
mynums = map(int, s.split())
于 2012-07-10T00:06:19.727 回答
12

试试这个:

nums = [int(i) for i in raw_input("Enter space separated inputs: ").split()]
于 2012-07-10T00:06:46.190 回答
0

对于 python 2.x

x,y = map(int,raw_input().split())

它需要两个由空格分隔的 int 类型的变量 x 和 y,您可以将 int 替换为所需的类型

对于 python 3.x

x,y = input().split()

它需要两个由空格分隔的字符串类型的变量 x 和 y,您必须显式转换

于 2015-06-01T17:17:23.467 回答
0

x,y=map(int,input().split()) #这将采用空格分隔的输入并映射#into int

于 2016-06-10T17:10:01.347 回答