如何在矩阵内的某个范围内为i,j赋值?

时间:2015-12-17 23:49:12

标签: python matrix

我有一个随机大小的矩阵(用户输入的大小),我想为特定部分分配1,2和3的值,给出麻烦的部分是2将被分配。矩阵应如下所示......

1 1 1 1 1 ... 1(这是上面的所有行和列,我可以这样做)

2 2 2 2 2 ... 2

3 2 2 2 2 ... 2

3 3 2 2 2 ... 2

3 3 3 2 2 ... 2

3 3 3 3 2 ... 2

3 3 3 3 3 ... 2

3 3 3 3 3 ... 3

假设2开始于(i4,j0),并继续在(i5,j1),(i6,j2)等对角线开始。我想知道如何在python中实现这一点。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

这是完成此任务的代码。

size = int(input("size? "))
i = int(input("i? "))
j = int(input("j? "))

for i_ in range(size):
    row = []
    for j_ in range(size):
        if i_ >= i and j_ >= j:
            row.append("2")
        elif i_ < i:
            row.append("1")
        else:
            row.append("3")

    print " ".join(row)
    if i_ >= i:
        j += 1

执行命令

size? 10
i? 4
j? 0
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2 2 2
3 2 2 2 2 2 2 2 2 2
3 3 2 2 2 2 2 2 2 2
3 3 3 2 2 2 2 2 2 2
3 3 3 3 2 2 2 2 2 2
3 3 3 3 3 2 2 2 2 2