在单行Python

时间:2017-12-07 20:39:18

标签: python input

我正在尝试从Python中使用单行输入,但它无效。

错误:

Traceback (most recent call last):
File "solution.py", line 4, in <module>
a = int(input())
ValueError: invalid literal for int() with base 10: '1 4'

代码:

q = int(input())
lis = []
for i in range(q) :
  a = int(input())
  print(a)
  if(a==1) :
    b = int(input())
    lis.append(b)
  else :
    print("Do Nothing")

在给定整数的代码中,即q。

我必须接受两个输入,如果第一个整数是1,那么我们必须将第二个输入添加到数组中。

表格输入:

5
1 4
1 9

如果第一行输入为1,我们必须将4添加到列表中。我无法将第1行的输入视为只有1输入1 4。

2 个答案:

答案 0 :(得分:3)

拆分输入,然后转换为int,然后执行任何操作

a = input().split()
a=[int(x) for x in a]
#a is now a list of ints
....#do other stuff

答案 1 :(得分:1)

这是最基本的方式

string = input()  # Read Input as string
print(string)

str_array = string.split(" ")  # Split the string
print(str_array)

int_arr = [int(i) for i in str_array]  # Parse the individual strings to int
print(int_arr)

<强>输出

1 56 9 87 7
['1', '56', '9', '87', '7']
[1, 56, 9, 87, 7]

如果你真的想要最狡猾的方式来做这件事

int_arr = [int(i) for i in input().split(" ")]