在空间分隔输入值中准确读取输入n个数字

时间:2017-12-29 16:56:29

标签: python python-3.x

我有这样的输入语句 - "第一行包含一个表示测试用例的整数' T'。每个测试用例都包含一个整数值,用于描述数组的大小' N'并且 N个整数元素将插入到下一行中,并在它们之间留有空格。"

我正在编写这样的代码 -

代码1: -

t = int(input())
for i in range(t):
  size = int(input())  # input size of array
  numbers = list(map(int, input().split())

问题 - 数组大小未被使用,意味着让我们假设我输入的数组大小为3,我插入值1 2 3 4 5.它接受。这里的数字大小为5,但它只能接受3个大小。

代码2: -

t = int(input())
for i in range(t):
  size = int(input())  # input size of array
  arr = []
  for j in range(size):
    num = int(input())
    arr.append(num)

问题 - 这里我能够读取exaclty 3值(i:e size),但是当插入空格分隔值(如1 2 3)时,会得到ValueError。

Java代码: -

 int n = sc.nextInt();
 int[] arr = new int[n];
 for(int i = 0; i < arr.length; i++){   
    int e = sc.nextInt();               
    arr[i] = e;
 }

这里我们给出空格分隔值或新行,它工作正常。

如何处理?

1 个答案:

答案 0 :(得分:0)

我找到了这个 -

arr = [int(i) for i in input().split()][0:size]