我正在尝试在我的2D数组中创建一个“线”,但由于某种原因它无法正常工作。我没有得到任何错误,但由于某种原因,它没有做我想要的。
以下是代码:
#Create arrays
t = []
for x in range(10):
t.append([])
for y in range(10):
t[x].append("x")
#Create line
for x in t[7]:
x = "_"
#Print grid
for x in t:
o = ""
for y in x:
o += str(y) + " "
print(o)
输出应该如下所示:
x x x x x x x x x x
x x x x x x x x x x
x x x x x x x x x x
x x x x x x x x x x
x x x x x x x x x x
x x x x x x x x x x
x x x x x x x x x x
_ _ _ _ _ _ _ _ _ _
x x x x x x x x x x
x x x x x x x x x x
但看起来像这样:
x x x x x x x x x x
x x x x x x x x x x
x x x x x x x x x x
x x x x x x x x x x
x x x x x x x x x x
x x x x x x x x x x
x x x x x x x x x x
x x x x x x x x x x
x x x x x x x x x x
x x x x x x x x x x
我确定我犯了一些愚蠢的错误,所以任何帮助都会受到赞赏。谢谢!
答案 0 :(得分:2)
问题在于:
#Create line
for x in t[7]:
x = "_"
在此for
循环中,x
只是一个局部变量。如果您更改x
,则对列表t[7]
无效。你需要这样做:
#Create line
for i, x in enumerate(t[7]):
t[7][i] = "_"