在用户输入范围内打印数组

时间:2018-04-04 16:46:43

标签: python arrays python-3.x for-loop

以下是我的代码:

 n = int(input())

 for i in range(n):

    d = int(input())

    for i in range(d):
        a = list(map(int,input().split()))
    print(a)

但我想让我的代码执行此操作,例如: 假设d = 4是我的用户输入 现在,我想要(随机例子)a = [1, 4 , 8, 19]。这也是用户输入的。 这是输出的一个例子。我无法正确构建问题。所以,这是所需的输出:

3 #input for n

2#输入d

[4,6] #output for a

5#输入第二天

[4,2,1,4,7] #output为a,5个元素为d = 5

最后d的2#输入,' n'是3

[1,9]#(最后一个数组a)

2 个答案:

答案 0 :(得分:0)

您的代码可以简化。您似乎正在尝试将两种截然不同的收集数据的方法结合起来。你应该选择其中一个。

个人参赛作品

n = int(input('How many numbers?\n'))

res = []
for i in range(1, n+1):
    res.append(int(input('Enter number{0}\n'.format(i))))

同时录入

n = int(input('How many numbers?\n'))

in_str = input('Enter the numbers separated by space:\n')

res = list(map(int, in_str.split()))

答案 1 :(得分:0)

您的代码有问题

  • 您在两个for循环中都使用相同的i变量
  • a = list(map(int,input().split()))扫描整行,因此不需要for循环

解决方案

n = int(input())

for i in range(n):

    d = int(input())

    a = list(map(int,input().split()))
    print(a)

输出

2
5
1 2 3 4 5
[1, 2, 3, 4, 5]  # Output
2   
1 2
[1, 2]  # output

如果您得到了答案,请接受它,否则请发表评论。什么问题?