2017-08-09 412 views
0

我遇到了我的任务问题。使用嵌套for循环打印python中的简单矩阵

使用for循环打印出一个3x3的“ - ”矩阵。

它应该是这样的:

- - - 
- - - 
- - - 

这是我来最接近的,但它不工作

x = "-" 
for i in range(3): 
    for n in range(3): 
     for x in range(3): 
      print x, 

您将需要嵌套的for循环来实现这一目标。

我一直在尝试这一个小时,没有运气,有人请指出我在正确的方向?

+1

显示您的代码或没有人会帮助您 –

+0

我们不是来回答您的任务。编辑:你到目前为止尝试过什么? – SCramphorn

+1

那个小时你最近得到了什么?显示代码和输出。 – user2357112

回答

2
for i in range(21/7): 
    print ' '.join(['-' for _ in range(264/88)]) 
+1

你正在采取这个米奇?! '21/7'为什么不'3'? – SCramphorn

+0

我尽了最大努力让代码玩起来和 – kilojoules

+0

>。>这是有趣的欢闹,也是痛苦的工作 – jmoon

1

在你的代码,x被定义为-,所以你不应该在它枚举。 我编辑了您的代码以生成工作版本。

请注意,在内部循环中,您需要在-之间放置空格,而在外部循环中则要移至下一行。

这里是蟒3的代码:

x = "-" 
for i in range(3): 
    for n in range(3): 
     print(x, end=' ') 
    print('\n') 

这里是蟒2的代码:

matrix = [[],[],[]] 

for x in range(0,3): 
    for y in range(0,3): 
    matrix[x].append("-") 

然后打印:

x = "-" 
for i in range(3): 
    for n in range(3): 
     print x, 
    print('\n') 
+0

这给我一个语法错误 – Bryan

+1

@Bryan看我的编辑。 python 2和3中的print语句有不同的格式,所以我添加了python 2版本。 –

+0

好的,谢谢,是啊我在Python 2 – Bryan

0

使用嵌套循环构造一个矩阵它:

for i in range(3): 
    print(matrix[i]) 
+2

需要嵌套循环 – SCramphorn

+0

哈哈让我快速编辑这个 –

+0

我的导师要我使用嵌套循环 – Bryan

1

非常好的开始!

让我们来思考一下,你试图用第三循环来达到什么目的。
(提示:你不需要第三个循环)。

如果你说出来,你需要发生就变得什么:

1)打印一个“ - ”三次。 (内环)
2)打印新线
3)现在回去,重复步骤1)和2)三次(外环)

这只会是2路,3不

试试这个:

x = "- " 
for i in range(3): 
    for n in range(3): 
     print x, 
    print "\n" 

你甚至可以缩短这

for i in range(3):  # print the following line 3 times 
    for n in range(3): # print 3 dashes, separated by a space 
     print "- ", 
    print "\n"   # begin a new line 

BTW,如果使用Python 2,是适当的,但对于Python 3,它需要更改为print(x, end='')

+0

您的输出没有与OP想要的格式相同。 –

+0

你可以检查一下,我想我也可以在你的评论之后编辑它,但是在我注意到你的评论之前。如果是这样,你是正确的,我已经离开了新线,并在每个短划线之间的空间。 – SherylHohman

+0

当我在python 2上运行你的代码时,所有' - '形成一条垂直线(每3个之间有一个空格),而不是3条水平线。 –