1

英语不是我的强语,请体谅。

我想做的是制作一个由“~”符号组成的 3x3、4x4 或 5x5 矩阵,它将被“X”替换 3 次,

根据 x 和 y 输入给出的坐标,附加在 s=[]

例如,如果我有一个 3x3 矩阵

~~~
~~~
~~~

和坐标(0,0),

结果应该是:

X~~
~~~
~~~

尽管听起来很简单,但对我来说仍然不容易,即使我的代码对我来说似乎合乎逻辑,我也会遇到问题。

> IndexError: list index out of range

这是我的代码:

a = []

n=0
while n<3 or n>5:
    n=int(raw_input("type matrix: "))
for i in range (n):
    for j in range (n):
        print "~",
    print "\n",
def zdruzi(a):
    for row in a:
        print " ".join(row)
zdruzi(a)

s = []
for i in range(3):
    x=int(raw_input("x: "))
    y=int(raw_input("y: "))
    s.append(int(x))
    s.append(int(y))
    a[int(x)][int(y)]="X"

    if (x<0) or (x>(n-1)):
        print "not good"
        break

    print a
4

1 回答 1

1

您尚未预先填充a. 阅读后n,执行以下操作:

a = [ [ '~' for _ in range(n) ] for _ in range(n) ]
于 2012-11-22T23:38:48.887 回答