如何仅从一行获得原始输入?

时间:2019-04-03 01:24:04

标签: python python-2.7 input

我想像这样在PowerShell中从键盘输入输入:1 2 3 4 但是如果我这样输入,它将显示以下内容:

Traceback (most recent call last):
  File "iqtest.py", line 7, in <module>
    l.append(int(raw_input()))
ValueError: invalid literal for int() with base 10: '1 2 3 4'

仅当我在每次输入后输入时才起作用,因此创建了4行而不是1行。我如何只将4个输入全部放在一行中?我的代码:

list=[]
l=list
for i in range(0,n):
    l.append(int(raw_input()))

3 个答案:

答案 0 :(得分:3)

您可以使用splitmap

l = map(int, raw_input().split())

答案 1 :(得分:0)

在这里,我正在读取多个以空格分隔的数字 所以我正在使用.split(''),它将返回数字列表,但类型为string。 下一步是使用列表推导将列表“ x”中的所有数字转换为int类型的值。

x=raw_input().split(' ') 
x=[int(num) for num in x]
print x #python2

答案 2 :(得分:0)

您可以使用splitlist comprehension `

nums = [int(n) for n in raw_input().split(' ')]