Noughts和Crosses循环

时间:2014-10-23 03:46:47

标签: for-loop python-3.x nested-loops nested-lists

我一直在研究这个问题,我认为即将到来。

问题:

编写一个函数get_column(game,col_num),该函数采用合法的3 x 3游戏的noughts和crosses,并返回一个包含列号col_num,从上到下的值的3元素列表。您可以假设col_num在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_column([[' O',' X',' O'],[' X',' ;',''],['','','']],0)

打印(列1)

结果:

[' O',' O',' O',' X',' X',& #39; X',' ',' ',' ']

通缉格式:

[' O',' X',' '。]

我很确定我得到的答案是正确的,但格式不正确。结果显示我正在增加“O' X'还有两次。我想这与循环有关,但我可以检测出究竟是什么。

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

2 个答案:

答案 0 :(得分:1)

for i in game:
        for j in i:
            x.append(i[col_num])

我假设游戏是三个列表的列表。在这种情况下,你的内部循环遍历i中的三个项目中的每一个,并为每个项目追加i [col_num]。 省略内循环(对于i中的j),它应该正常工作。

答案 1 :(得分:1)

def get_column(game, col_num):
    x = []
    for i in range(3):
        x.append(game[i][col_num])
    return x