gpt4 book ai didi

python - 如何在 python 矩阵中设置单元格?

转载 作者:行者123 更新时间:2023-11-28 19:15:46 25 4
gpt4 key购买 nike

这是我的问题:

self.gameField = [
['-', '-', '-', '-', '-', '-', '-']
['-', '-', '-', '-', '-', '-', '-']
['-', '-', '-', '-', '-', '-', '-']
['-', '-', '-', '-', '-', '-', '-']
['-', '-', '-', '-', '-', '-', '-']
['-', '-', '-', '-', '-', '-', '-']
]

如您所见,我使用列表创建了一个矩阵,我需要更改用户选择的列的单个元素,因此我尝试使用以下代码:

for z in self.gameField:
if z[num] == "-":
z[num] = "X"
print "Done"

其中'num'是0到6的整数,表示子列表。我想选择一个列,并设置可用的最低“-”(就像有重力一样),例如,如果我选择“0”

        ['-', '-', '-', '-', '-', '-', '-']
['-', '-', '-', '-', '-', '-', '-']
['-', '-', '-', '-', '-', '-', '-']
['-', '-', '-', '-', '-', '-', '-']
['-', '-', '-', '-', '-', '-', '-']
['X', '-', '-', '-', '-', '-', '-']

但实际上我的程序改变了所有列的值

        ['X', '-', '-', '-', '-', '-', '-']
['X', '-', '-', '-', '-', '-', '-']
['X', '-', '-', '-', '-', '-', '-']
['X', '-', '-', '-', '-', '-', '-']
['X', '-', '-', '-', '-', '-', '-']
['X', '-', '-', '-', '-', '-', '-']

我该如何解决?你有什么想法吗?

最佳答案

将之前的评论放在一起:

假设您的网格创建良好(参见多个子列表引用可能存在的问题 - 基本上如果您使用类似 self.gameField = [[['_']*7]*6],它看起来简短而干净,但在您的情况下实际上很糟糕),您只需要在放置 for 循环后立即跳出 code>"X"(否则你只是继续填充整个列!):

for z in self.gameField:
if z[num] == "-":
z[num] = "X"
print "Done"
break

请注意,您可能希望以相反的顺序迭代您的行(您的 for 循环),以便在您打印网格(或反向打印网格)时重力向下...

关于python - 如何在 python 矩阵中设置单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33682242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com