For loop 零和交叉循环

For loop 零和交叉循环,for-loop,python-3.x,nested-loops,nested-lists,For Loop,Python 3.x,Nested Loops,Nested Lists,我一直在研究这个问题,我想我快到了 问题: 编写一个函数get_column(game,col_num),它接受一个合法的3 x 3的零和交叉游戏,并返回一个3元素列表,其中包含从列号col_num到列号col_num的自上而下的值。您可以假设col_num在0到2(包括0到2)的范围内。[提示:您必须通过在行上循环来构建返回值,并从每行中选择所需的元素。] 我的工作: def get_column(game, col_num): x = [] for i in game:

我一直在研究这个问题,我想我快到了

问题:

编写一个函数get_column(game,col_num),它接受一个合法的3 x 3的零和交叉游戏,并返回一个3元素列表,其中包含从列号col_num到列号col_num的自上而下的值。您可以假设col_num在0到2(包括0到2)的范围内。[提示:您必须通过在行上循环来构建返回值,并从每行中选择所需的元素。]

我的工作:

def get_column(game, col_num):
    x = []
    for i in game:
        for j in i:
            x.append(i[col_num])
    return x
测试:

column1=get_列(['O','X','O'],['X','','',['','','',''],0)

打印(第1栏)

结果:

['O','O','O','X','X','X','

通缉格式:

['O','X',''

我很确定我得到了正确的答案,但是,不是正确的格式。结果表明,im将“O”/“X”再增加两次。我猜这与循环有关,但我能准确地检测到什么

任何帮助都将不胜感激!干杯

for i in game:
        for j in i:
            x.append(i[col_num])
我假设游戏是一个由三个列表组成的列表。在本例中,内部循环迭代i中的三个项中的每一项,并为每个项追加i[col_num]一次。
省略内环(对于i中的j),它应该可以正常工作

你真正的问题是什么。您需要更明确地表达您需要帮助的内容。简单地说“任何帮助都会很感激”不是什么问题,所以我不知道该说些什么来帮助你。我已经将运行代码的“结果”与最后的“想要的格式”进行了比较。我正处于编程的早期阶段,所以我仍在学习如何表达代码问题,尤其是在这里。非常抱歉。尽管如此,其他人还是指出了这个bug及其所有分类。但是谢谢你顺便来看亚历克斯:)很好!谢谢代码返回给我:TypeError:list索引必须是整数,而不是list。第4行出错。然而,乔恩·基帕斯基帮了我一把,让我跑了起来。但非常感谢安德鲁!:)我的坏,在游戏中更改为在范围内(3)
def get_column(game, col_num):
    x = []
    for i in range(3):
        x.append(game[i][col_num])
    return x