我有一个随机大小的矩阵(用户输入的大小),我想为特定部分分配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中实现这一点。
任何帮助都将不胜感激。
答案 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