打印确定次数的值

时间:2018-03-10 01:19:09

标签: python

我有一张包含以下内容的表:

table = [[2, 1],[5, 2],[6, 4],[4, 5],[1, 3],[3, 6]]

我想要做的是在用户提供的表格中打印一定次数的元素。

例如,

userinput = 1

然后它应该只从表格中打印一个元素,从左到右只是:

[2,1]

用户输入也是如此,例如:

userinput = 4

它应该打印:

[2, 1],[5, 2],[6, 4],[4, 5] 

这是我的尝试:

table = [[2, 1],[5, 2],[6, 4],[4, 5],[1, 3],[3, 6]]
n = len(arr)

user = int(input("Enter how many times to print: "))

for i in range(n):
    for j in range(user):
        print(table[j])

但我写的代码是打印出太多重复的值。

例如,如果

userinput = 1

我得到的输出是

[2,1]
[2,1]
[2,1]
[2,1]
  .
  .

这是错误的。

2 个答案:

答案 0 :(得分:2)

这是一个解决方案。由于您指定的特定格式,str转换和[1:-1]切片才是必需的。

table = [[2, 1],[5, 2],[6, 4],[4, 5],[1, 3],[3, 6]]

user = int(input("Enter how many times to print: "))

print(str(table[:int(user)])[1:-1])

# Enter how many times to print: 3
# [2, 1],[5, 2],[6, 4]

答案 1 :(得分:1)

应该这样做,不需要len(table)for循环

table = [[2, 1],[5, 2],[6, 4],[4, 5],[1, 3],[3, 6]]

user = int(input("Enter how many times to print: "))

print(table[:user])

示例:

user = 4

输出:

[[2, 1], [5, 2], [6, 4], [4, 5]]
你评论中的

编辑:,似乎你想使用for循环来实现这一点。这可以这样做:

for i in range(user):
    print(table[i])

返回:

[2, 1]
[5, 2]
[6, 4]
[4, 5]

如果您希望它在一行上打印:

for i in range(user):
    print(table[i], end=' ')
    if i == user - 1:
        print()

返回:

[2, 1] [5, 2] [6, 4] [4, 5] 
相关问题